您的位置:首页 > 其它

数组名是指针,为什么sizeof(数组名)还是数组的大小

2014-08-30 22:07 246 查看
数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。这种误解的根源在于国内某著名的C程序设计教程(出版量最多的那本破书)。

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

sizeof(a)为什么等于40呢,因为数组这种结构保存了数组的大小,有的书说这个值保存在数组首地址前面的内存中(这一点,我没验证)。最简单的方法你就记着,数组名不是普通的指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: