c语言中关于int *p = &a 的解读

今天,贺贺问了我这个问题,我开始也有点懵,哈哈,后来懂啦!

int a = 512, *p = &a;   问*p的值是多少 

int *p=&a;这一句作用相当于int *p;p=&a;两句

这句话的意思是定义一个int类型指针,然后用a的地址给p赋值;

所以*p就是取a地址中存放的值,*p=512;

对于指针p来说,*p就是指针p所指向的内存空间存储的值;

*p=a的意思:将a的值赋给p指针指向的地址的值;

p本身不改变。

p=&a就是用a的地址对p赋值

a是一个变量,&a就是存储这个变量的内存地址

指针存储的就是一个地址,*p就是这一地址中的内容 

 

 

 


版权声明:本文为SEVENY_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。