前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于数组名的使用

关于数组名的使用

作者头像
HeaiKun
发布2020-07-06 16:26:03
3810
发布2020-07-06 16:26:03
举报
文章被收录于专栏:HeaiKun

说一个小知识点:

int arr[10] = {0}

中的arr是什么?&arr又是什么?

你会发现使用printf将这两个指针打印出来后,两者的值是一样的,那么他们俩到底有什么区别呢?

arr等价于&arr[0] 也就是说arr就是第一个元素的首地址,而&arr就是整个数组的首地址。

打个比方,一个班有十个小组,然后全班人出去排队,按组的顺序排成一队。那么一组的第一个人的位置即是一组的头位置也是这个班的头位置。回到我们的数组就可以理解成arr是一组的头位置,&arr是整个班的头位置,虽然地址一样但是意义不一样。

还有一个地方能体现出来他们的不同,那就是分别将这两个地址加一,arr+1是第二个元素的首地址,而&arr+1是这个数组整体后面的数据的首地址。你会发现

(int)(&arr+1)-(int)(&arr) = sizeof(int)*10,

(int)(arr+1)-(int)arr = sizeof(int)。

以上就是数组名使用的时候要注意的小知识点,每天学习一点!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HeaiKun 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档