问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言数组名和指针的区别?

发布网友 发布时间:2022-06-06 20:01

我来回答

2个回答

热心网友 时间:2023-01-27 14:25

数组和指针的区别:
数组名确实表示指向数组首地址的指针,但这个指针很特别,它的值(指针的值指的是指针所指的地址)不能被改写,能改写的仅仅是其指向的内容,换句话说,数组名只能指向数组的首地址,如果有数组char a[];那么如果出现a = a+1;这是编译都通不过的错误。而对于一个普通的指针是可以的,再比如有数组char a[];那么再定义一个char *p = a;然后再用p = p+1是合法的,这表示让指针p指向&a[1]。
它们的第二个区别是:每当用到数组名这个指针的时候,系统都会传入数组的信息,而普通的指针只是一个4字节的整数,例如:

char a[5];
char *p = a;//指针a和指针p都指向数组a的首地址
cout << sizeof (a) << "##" << sizeof (p) << endl;

这时的运行结果是“5##4”

追问谢谢先

第一条可以理解成:
数组名是: char const * 型指针 或者 说是 指针常量

第二条有没有什么官方的文档或者说明做为佐证呢?

追答其实数组名不等同于指针,但是还可以有部分数组的用法,从第二条可以看出,用sizeof计算的值不同
用编译环境实践一下,就能看出了。

热心网友 时间:2023-01-27 15:43

为什么数组名的那个指针不能运算,也就是你说的不能改写,告诉你那是因为数组一旦定义了,就放到常量区了,你试试看你能改变常量吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
姐妹们,哥伦比亚的徒步鞋怎么样?下个月就要去吴越古道户外徒步旅行... 徒步装备选哪个牌子好 徒步小白上线!想问问大神们徒步鞋哥伦比亚户外活动性能如何?方便吗? 去医院怎么检查自己缺钙和缺维生素? 查缺钙做什么检查 骨骼缺钙怎么检查 检查缺钙查什么 joryaweekend是什么牌子 剪映在那里修改视频尺寸 剪映如何修改视频画面尺寸 修改视频画面尺寸方法分享 愿有人待你如初。疼你入骨。从此深情不再枉负下句怎么联? 又是nex7 SEL18200和Sonnar T* E 24mm F1.8 ZA哪个更适合NEX7 怎么清除名下5个实名 怎么注销名下 疫苗证在哪里办 疫苗纸质版证明手机怎么操作 怎么注销本人名下其他 微信实名不了?说我的名下绑定超过五个,但是之前的我都忘了怎么注销之前的 流动资产率的公式 梦幻西游衣冠古丘里面的文哉武哉的成就怎么刷 - 信息提示 请问,哪些是十大铝合金门窗品牌? 三国时期当兵的出征打仗时,那个号角要吹几声???看三国演义上吹了一声号,求解答,有出处,有文献,有证 联想笔记本电脑没系统,也进不了boss 联想07年电脑的BIOS文件到哪里可以下载? 不要告诉我联想知识库,我没有帐号。也别让我送服务站! 谁可以进联想知识库帮我下一个ThinkPad E540的恢复盘,万分感谢 thinkpad E430 3254A51,求联想知识库里的oem版系统,给个下载链接就可以,迅雷的,有联想工程师吗? 一个男生给女生留言愿有人待你如初痛你入骨从此深情不被辜负什么意思 有氧运动有哪些特点? 为什么C语言中二维数组的数组名a和*a表示的是同一个值? C语言,name是数组名? C语言中的字符数组名与数组元素有什么区别 C语言中数组名作为参数有什么特点 愿有人待你如初,疼你入骨,从此深情不被辜负。盼来人恋你似我,然后怎么接的。 c语言求1到n的素数(不要超时) c语言求1~n素数个数 用C语言输出从1到N( 1 &lt; N &lt;= 10000)有多少个素数 求淘宝美工常用的字体、笔刷、背景素材~~谢谢 对于自理能力差的孩子,如何培养其适应能力呢? 如何解决孩子自理能力、动手能力差的问题? 手机上一个安卓优化大师,360卫士该卸掉那个 报纸中封能刊登什么内容? 安卓优化大师和手机管家哪个好 愿有人待你如初 疼你入骨 从此深情不被辜负。这句是什么意思呢?? 紫砂壶 去茶垢用小苏打可以用小苏打煮吗?要是可以一般要多久 怎样清除360导航 新农村合作医疗慢性病可以报销吗? 慢性病医保卡怎样报销,是新农合报销后再报销吗?平时门诊怎样报? 新农村合作医疗慢性病报销