C语言sizeof数组名

数组名不是首元素的指针咩,为什么sizeof数组名能够知道数组长度... 数组名不是首元素的指针咩,为什么sizeof数组名能够知道数组长度 展开
 我来答
百度网友d325396
2014-12-24 · TA获得超过318个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:216万
展开全部
数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。这种误解的根源在于国内某著名的C程序设计教程(出版量最多的那本破书)。

数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;指向数组的指针则是另外一种变量类型,仅仅意味着数组的存放地址!

sizeof(a)为什么等于40呢,因为数组这种结构保存了数组的大小,有的书说这个值保存在数组首地址前面的内存中(这一点,我没验证)。最简单的方法你就记着,数组名不是普通的指针。
GTA小鸡
高粉答主

2018-05-03 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
前一个list+1说的是C语言中的指针加法,+1表示向后偏移一个单位,这个单位的长度等于指针所指数据类型的长度,即int型的长度;后一个list+sizeof(int)说的是实际偏移的字节数,也就是1个单位等于1个int型所占用的字节数(通常是4个字节)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式