注意分清 语句和声明。
外貌都是 *p, 在语句 和 在声明 意思不同。
------------------------------
p=&k; 这显然是语句。语句里 &k 是变量 k 的 地址,能接受赋值的 p 是指针。
所以,它们的声明很可能是:
int k; int *p;
-------------------------------
形参 书写 是用 声明的形式,例如:
void add(int a, int b, int *p);
形参 int *p -- 用的是 声明的形式,p 是指针。
-------------------------------
声明为 int *p; // p 是 指针 变量
语句中 *p 是 指针指向的值,p 是 地址。
k = 20;
p = &k; // 地址
printf("%d\n", *p); // 打印数值
printf("%p\n", p); // 打印地址
*p = 10; // 值
a = *p; //值
温馨提示:答案为网友推荐,仅供参考