指针常量,NULL指针,指针的指针,&p,*p,&(*p),*(&p),这些怎么区分,怎么理解,望详细的解释一下

如题所述

指针常量是指针所指向的位置不能改变,即指针本身是一个常量。但是指针常量可以通过间接引用修改内存中的数据。
定义指针常量的语句格式为:
指针类型 *const 指针常量名=&变量名;
比如 int * const p=&a 这时 p=&b 是错的(因为p是常量) 但*p =20是可以的

NULL指针,就是指针不指向任何东西。(比如刚初始化,还没有赋值,可以先赋值为NULL)

指针的指针,就是指针指向另一个指针
int *p =&a; int **pp =&p; 这样 pp指向p p指向a

&p 取p的地址
*p 把p的内容当做地址,去这个地址取内容。
所以 * 和 & 是相反的
所以&(*p)和 *(&p) 实际上都是p
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-17
给你写了一大堆,结果已经选了答案,浪费表情 ,删除了。追问

不要意思啊,我刚刚看到你的回答,打的很好,可是我刚给了满意答案,实在是对不起,要不我再问一次,你回答,你刚才的回答我还没有看完,真的回答的很好,真的不好意思。

相似回答