关于数组的运算,需要注意以下几点:
1. sizeof(数组名):数组名表示整个数组
sizeof(数组名)计算的是整个数组的大小,单位是字节
2. &数组名:数组名表示整个数组
&数组名取的是数组的地址,这里的数组名表示整个数组
3. 除此之外,所有的数组名表示首元素地址
4. 二维数组要看首元素的地址,首先要把二维数组想成一维数组
5. 地址是四个字节
6. strlen的运算遇到'\0'才会结束
一维数组
int a[] = {1,2,3,4};
printf("%d\n", sizeof(a)); //16 注:a表示整个数组
printf("%d\n", sizeof(a+0)); //4 注:a+0表示首元素的地址
printf("%d\n", sizeof(*a)); //4 注:*a表示首元素的地址
printf("%d\n", sizeof(a+1)); //4 注:a+1表示下标为1的元素的地址
printf("%d\n", sizeof(a[1])); //4 注:a[1]表示下标为1的元素的地址
printf("%d\n", sizeof(&a)); //4 注:&a表示数组的地址
printf("%d\n", sizeof(*&a)); //16 注:*&a表示整个数组
printf("%d\n"