A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© A侠 中级黑马   /  2015-10-5 00:33  /  1027 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义一个数组int a[5],这个a究竟是个什么?&a又是什么?怎么理解呢?如果a是一个int*型的指针常量,&a是一个int[5]*的指针常量,那sizeof(a)=20,又怎么解释?

2 个回复

倒序浏览
1、a是 数组名。
2、&a是取数组的首地址,也可以说是a[0]的地址。
3、因为可以看做是a[0]的地址,地址本身就是一个指针常量,所以说a是int *的指针常量也是对的。
4、&a是一个int[5]*的指针常量  同样可以以数组地址来理解
5、因为一个int类型占4个字节,所以 sizeof(a)=20计算的是a数组的长度,也就是 4*5 = 20。
回复 使用道具 举报
楼上都说完了后面的默默顶贴
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马