对3岁宝宝的成长寄语:指针的问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 22:18:52
int a;
int *aptr;
a=7;
aptr=&a
问题出来了
* aptr这句里*号是什么功能?
&*ptr与*&ptr为什么返回的都是a的内存地址?

*aptr中的*取aptr保存的内存地址所指向的内存的值。

&*aptr,先用*,取aptr保存的内存地址所指向的内存的值(得到a的值),然后再用&,取这个值的内存地址(得到a的地址);

*&aptr,先用&,取aptr本身的内存的地址,然后再用*,取得内存地址所指向的值,因为aptr存的是a的地址,所以得到的就是a的地址。