1.sizeof(数组名),这里数组名表示整个数组,计算的是整个数组的大小
2.sizeof(&数组名),这里的数组名表示整个数组,取出的是整个数组的地址
//一维数组
int a[]={1,2,3,4};
printf("%d\n",sizeof(a));//16
printf("%d\n",sizeof(a+0));//4/8,a+0是首元素的地址,是地址,大小是4/8个字节
printf("%d\n",sizeof(*a));//4,a是首元素的地址,*a是数组的第一个元素
printf("%d\n",sizeof(a+1)); //4/8,a+1是第二个元素的地址,是地址,大小是4/8个字节
printf("%d\n",sizeof(a[1]));//4,a[1]是数组的第二个元素
printf("%d\n",sizeof(&a));//4/8,&a是整个数组的地址,是地址,大小是4/8个字节
printf("%d\n",sizeof(*&a)); //16,*&a是整个数组的元素
printf("%d\n",sizeof(&a+1)); //4,&a是整个数组的地址,&a+1跳过整个数组,求的是4后面位置的地址
printf("%d\n",sizeof(&a[0])); //4/8,&a[0]是首元素的地址
printf("%d\n",sizeof(&a