int *p = &a;
这句话与下边两句话是一样的意思:
int *p;
p = &a;
*在你的那句话里是解引用操作符,p本身是一个int型指针,值为1000,*p就是取1000这个地址的值,也就是112,“*p的右值是112——位置1000的内容”这里*p应该是对p这个地址接引用的意思,而不是声明一个int型指针的意思,比如:
int *p = &a;
int c = *p;//这个时候c就是112
如果执行以下代码:
printf("%d %d", *p, p);
会输出
112 1000