指针运算符和指针说明符 外形上一样,都是 * 号, 一个用在 语句里,一个用在声明里。
例如:
int *p; 声明 p 是指针,它可用来指向一个 整形变量。
int (*pf)(); 声明pf是一个指向函数入口的指针变量,该函数的返回值(函数值)是整型。
int *ap(int x,int y){...} 声明 函数 ap, 有2个形参,函数调用会返回 一个指针,用来指向一个 整形变量。
指针运算符,也在其操作数的左边,该操作数是一地址,用*可取得该地址处存储的变量的值,可做右值,也可做左值。例如:
int myAge;
int *p; //指针说明符
*(&myAge)=24; // 指针运算符,&myAge 是地址,* 是取那个地址里的值的运算,做左值
printf("%d",myAge);
p=&myAge;
printf(" %d",*p+1); //指针运算符, 输出 指针指向的变量的值加1,做右值。
输出 24 25