数组名不代表数组首元素地址的两个特例(一般情况下,数组名代表数组首元素地址)
1.sizeof(数组名)- 数组名表示整个数组,sizeof(数组名)计算的是整个数组的大小,单位是字节
2.&数组名,数组名代表整个数组,&数组名,取出的是整个数组的地址(值相同,意不同)
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7};
printf("%p\n", arr);
printf("%p\n", arr+1);
printf("%p\n", &arr[0]);
printf("%p\n", &arr[0]+1);
printf("%p\n", &arr);
printf("%p\n", &arr+1);
}
[gxl@gx day1006_21]$ ./mybin2
0x7ffcd5158850
0x7ffcd5158854
0x7ffcd5158850
0x7ffcd5158854
0x7ffcd5158850
0x7ffcd515886c