
arr数组名是数组首元素地址和arr[0]取地址也就是&arr[0]是一样的;
对arr解引用就是1;
数组名通常是首元素地址但是有两个例外:
例外1:sizeof(数组名)--数组名表示整个数组,sizeof(数组名)计算的是整个数组的大小,单位是字节

但是这种方法不能在函数内部使用比如:

因为在这里arr作为参数传过去的是数组首元素地址使用sizeof(arr)计算的是传过去的这个首元素地址占的字节数我这里是64位所以占8个字节arr[0]是int类型占4个字节8/4得到2;
所以在函数内想要用数组长度需要现在main主函数计算出来传到函数当中使用;
例外2:&数组名,数组名代表整个数组,取出的是整个数组的地址

这里的结果虽然一样 1和2含义一样完全等价 但是它们和3不一样
arr,和&arr[0]是数组首元素地址
&arr取出的是整个数组的地址
它们的区别如下图:

最后一组因为16进制所以48和60相差24个字节 ,24/4=6正好是数组元素的个数;