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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 08:51:13
指针常量,NULL指针,指针的指针,&p,*p,&(*p),*(&p),这些怎么区分,怎么理解,望详细的解释一下指针常量,NULL指针,指针的指针,&p,*p,&(*p),*(&p),这些怎么区分,怎

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

指针常量,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