指针常量,NULL指针,指针的指针,&p,*p,&(*p),*(&p),这些怎么区分,怎么理解,望详细的解释一下
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/20 02:21:28
指针常量,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
定义指针常量的语句格式为:
指针类型 *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
再给指针变量(*p)赋空值(NULL)时,*p=NULL与p=NULL哪个正确?原因?
数据结构里!p || p的意思是p空吧.可是p不是头指针吗,头指针指向头结点怎么空了?原文P=L.
如果p是个指针变量,p[i]永远等价于*(p+i) 这个怎么理解,什么意思?要详细
“指向常量的指针”“常指针”“指向常量的常指针”该如何区分理解呢?
已知P是指针变量,则不能初始化指针的值是 A NULL B 1 C 地址 D 0
p->next=NULL是将指针P指向的next置空还是将P的下一个指针指向空
c语言中,定义一个指针 int*p.假定刚开始时候p所指向的地址相同.则指针p++和*(p++)的意义是否相同?
C语言中指针p与*p的区别?
p是个指针,如果定义p=NULL,那么p->weight是0还是NULL,p->next又是什么?下面是我定义的结构体
二级C语言:*(p++)解释,其中p是指针.
C语言指针**p是什么意思
C语言中,指针p=p-->next表示指针的后移,那么如果调过来表示,p-->next=p,表示指针的前移?