中易网

指针数组为什么可以直接指向字符串常量?

答案:2  悬赏:60  
解决时间 2021-12-29 01:10
例如char *a[3]={"hello","happy","switch"},这样定义无错,但若是这样定义,例如*(a[2]+2)就是一个常量(表示第二个字符串的第二个字符‘a'),而存放这个字符是需要存储空间(假设变量名为x)的吧?这个存储空间我们不知道啊,只知道a[2]+2是这个存储空间的地址(&x),这样的话作为一个常量,不能直接赋值(*(a[2]+2='h')),指针数组直接指向每个字符串的首地址,而不知道字符串中每个字符的存储空间的名字,难道这存储空间是随机的吗?
最佳答案
char *a[3]={"hello","happy","switch"} 是一个指针数组,存放了3个char*指针,这三个指针分别指向了三个字符串常量。C语言中字符串常量所占空间是在内存的常量区中,定义后即存在,由系统自动回收。常量区内的数据不允许你手动修改,这就是(*(a[2]+2='h'))失败的原因。
全部回答
c语言不是说的很清楚了嘛,c语言中的字符串就是字符数组.所以这个和用int型的指针指向int数组是一样的 第二个我猜只要接收的是指向字符的指针,就以字符串的形式显示 c++里面不是有重载嘛,不同类型的数据都是以不同的方式处理的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
六六班班级口号,四字四句,铿锵有力,押韵。
险迍的意思是什么?险迍的释义是什么啊?
泥沟的意思是什么啊?请解释下!
晋州驾校教练车两厢车是什么车
偏枯对的意思是什么?偏枯对的释义是什么啊?
正蓝旗气象局地址在什么地方,想过去办事
安徽民之声律师事务所地址在什么地方,我要处
哈哈大笑!这类似的词语有哪些
如何做好班级常规管理
閒廢的意思是什么?閒廢的释义是什么啊?
老天隔不了一层纸的意思是什么啊?请解释下!
瓷介电容 与压敏电阻怎么区分
dnf85极限突破版本,复仇与审判奶爸哪个厉害
济南哪个皮肤科看扁平疣最好 急需 麻烦了
慄銳的意思是什么?慄銳的释义是什么啊?
推荐资讯
09年报废产库存商品,2010年重入库怎么做会计
如何度过自主创业的艰难期?
芈,认什么字
拓见科技怎样?
雨約雲期的意思是什么?雨約雲期的释义是什么
刚收到通光集团的面试,我应聘的是物流管理职
公司不懂企业战略与评估对公司会有什么影响?
巨蟹女讨厌一个人会看对方一眼吗?或者对方没
胸口总是闷有点痛…又感觉是有东西压着一样…
1988年11月21日农历出生命里缺什么
逼恼的意思是什么?逼恼的释义是什么啊?
满意,繁华,浓厚,漆黑的反义词
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?