永发信息网

char *const p;与 const char * p;的区别

答案:4  悬赏:50  手机版
解决时间 2021-04-06 20:17
char *const p;与 const char * p;的区别
最佳答案
const char *p;的意思是p指向的目标空间的内容不可变化,char * const p;的意思是指针p的值不可变,但它指向目标的值可变。

1、char * const p : 定义一个指向字符的指针常数,即const指针,其实const 放在p前证明p是一个const,p是不允许改变的。
2、const char* p : 定义一个指向字符常数的指针,const 是c描述char的,char是const,所以指针可变。
扩展知识:
char const* p : 等同于const char* p;const char **p是一个指向指针的指针,那个指针又指向一个字符串常量,char ** p也是一个指向指针的指针,那个指针又指向一个字符串变量。
全部回答

  const char  * p等价于 char const  *p ,定义出来的指针可以p++;
char * const 定义出来的指针不可以++;
const 表“只读”
char *const p 修饰指针为常量 指针指向内容可以是变量~既 p++这样的操作不合法 *p='3' 合法
const char * p 是p指向的内容是常量~p是变量~
~既 p++合法 *p='3' 不合法
前者定义P为常量,即只能单向赋值一次,P++展开为p=p+1,重复赋值给常量,出错,后者P为地址变量,地址变量是指向该变量的存储地址值如:4B3F6A,不能赋给一个字符值(字符相当于ascii表中对应的整数)如强制赋值,会把原地址变量P变为一个两位数的整数,造成地址指针溢出。而p++,则表示把该地址变量向下一个存储单元移动一位,如4B3F6A到4B3F6B.所以合法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
爱迪生有关成功的名言,有关剑兰的诗句
某种细胞每过30分钟便由1个分裂成2个.请根据
联想G480,CPU温度
形容很男人饥渴的成语
朋友开车发生了追尾事故可他没有驾驶证我帮他
感恩老师的古诗词,找一些描写老师、恩师的诗
下面两题都是春联的上联,选其中一题对出下联
如何获得深睡眠?
无锡的太湖公交卡可以与哪些城市通用?
“你的一句'你好'我就已经沦陷了”
关于聊天、沟通、搭讪问题!
重庆市巫山县大庙中心卫生院长梁分院地址在哪
从甲地到乙地,客车要行4小时,货车要行5小时
香味源土菜馆这个地址在什么地方,我要处理点
新买的虎皮鹦鹉帮忙看看多大了然后男女哪个
推荐资讯
挤压颧骨和整形缩颧骨瘦脸,哪个更靠谱
填数 在下面括号中,分别填上1、2、3、4、5、
脆有分哪些种类呀,谁能举例一下,比如饼干的
谁能告诉我在电视剧<壮士出征>中,王刚在最后"
脸上的挂钩掉了咋办
头条自媒体,我的文章别人收藏很多,怎么列表显
新京华烟云第几集曾新亚才会和姚木兰结婚
关于SBM共享服务攻击
上海有没有人代做银行流水和代交社保办贷款的
沈伶俐,我爱你!!!
齿轮钢的介绍
车胎上全是铁屑能拔掉吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?