数组名代表首元素地址还是整个数组呢?还是说在不同情况下代表不同的意义呢?比如*a = arr,arr代表首元素地址,而sizeof(arr),计算的是整个数组所占字节而不是首元素地址所占字节。
数组名本质上是数组的首地址,是一个常量,用sizeof计算时,计算是以这个首地址开始的数组元素的字节数,如果加上&即取地址操作就是该地址的字节,这个涉及sizeof函数的重载操作,可以具体查看函数的源码深入理解。
1.数组名单独放在sizeof内部,数组名表示整个数组,计算整个数组大小
2.数组名前有取地址符&时,数组名表示整个数组,取出整个数组的地址
3.除以上两种情况,数组名单独出现表示数组首元素地址
供参考:https://zhuanlan.zhihu.com/p/386612468
不知道你这个问题是否已经解决, 如果还没有解决的话: