数组名一般情况下指的都是数组元素的首地址,比如数组int a[10]的数组名a一般指a[0]的地址。以下两种情况除外。
1.sizeof(数组名),数组名表示整个数组,计算的是整个数组的大小,单位是字节的。
例sizeof(a)=40;
2.&数组名,数组名表示整个数组,取出是整个数组的地址。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int arr[10] = { 0 };
printf("%d\n", sizeof(arr));//40;
printf("%p\n", arr);//首元素的地址
printf("%p\n", arr + 1);//首元素的地址+1
printf("%p\n", &arr[0]);//首元素的地址
printf("%p\n", &arr[0] + 1);//首元素的地址+1
printf("%p\n", &arr);//数组的地址
printf("%p\n", &arr + 1);//数组的地址
return 0;
}