一些指针方面的疑问,先上简单的

如下的语句,其实可以自己跑下的,电脑上没装
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赋值 就是在相应的内存单元 更改数据。