如下的语句,其实可以自己跑下的,电脑上没装
int a = 1;
int* p = &a;
*p = ?
a = 2;
*p = ?
因为 p与 a 是同一个地址,所以值是一样的
int a = 1;
int* p = &a;
*p = 1
a = 2;
*p = 2
1和2.我是菜鸟不一定对。
p是指向a的指针,她存放的是a的地址。*p是访问地址指向的变量值,所以是1
当a改变值为2时,它的地址没变,所以*p的值就跟着变成2了。
这很简单,有个网站叫做 codepad.org,你把代码片段贴上去就可以看到结果了。
这里的a其实就是 内存单元的别称,&a 就是内存单元的地址,给a赋值 就是在相应的内存单元 更改数据。