黑马程序员技术交流社区

标题: 123 [打印本页]

作者: A侠    时间: 2015-10-5 00:33
标题: 123
定义一个数组int a[5],这个a究竟是个什么?&a又是什么?怎么理解呢?如果a是一个int*型的指针常量,&a是一个int[5]*的指针常量,那sizeof(a)=20,又怎么解释?


作者: ff774411    时间: 2015-10-5 14:51
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。
作者: wxd123    时间: 2015-10-5 15:38
楼上都说完了后面的默默顶贴




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2