编译器处理时不是把二维当做是数组元素都是数组的一维数组处理么?那么a就是这个数组的首地址也就是a[0]的地址&a[0]。但是输出a与*a发现者两个值始终是相同的。
那为什么值还会相同?难道a[0]的值和他的地址相同?
追答说了,是显式的值相同,意义不同
如果定义int a[2][3];
a类型是 int (*)[3]
*a类型是 int *
这二者,显式的只都是相同的,但是意义不同
为什么地址会相同?
追答数组a刚被调用时,调用的是数组的第一个数据,*a是可以直接代替数组a的,调用*a和调用数组a没多大的区别