//一维数组
#include<stdio.h>
int main()
{
int a[] = { 1,2,3,4 };
printf("%d\n", sizeof(a));//16
//求数组大小
printf("%d\n", sizeof(a + 0));//4
//求首元素地址大小
printf("%d\n", sizeof(*a));//4
//求首元素大小
printf("%d\n", sizeof(a + 1));//4
//求下标为1元素大小
printf("%d\n", sizeof(a[1]));//
//求下标为1元素大小
printf("%d\n", sizeof(&a));//4
//求数组地址的大小
printf("%d\n", sizeof(*&a));//16
//求数组的大小
printf("%d\n", sizeof(&a + 1));//4
//求数组后面地址的大小
printf("%d\n", sizeof(&a[0]));//4
//求首元素地址的大小
printf("%d\n", sizeof(&a[0] + 1));//4
//求下标为1元素的大小
return 0;
}
//字符数组
#include<stdio.h>
int main()
{
char arr[] = {'a','b','c','d','e','f'};
printf("%d\n", sizeof(arr));//6
//求数组大小
printf("%d\n", sizeof(arr+0));//4
//求首元素地址大小
printf("%d\n", sizeof(*arr));//1
//求首元素大小
printf("%d\n", sizeof(arr[1]));//1
//求下标为1元素大小
printf("%d\n", sizeof(&arr));//4
//求数组地址的大小
printf("%d\n", sizeof(&arr+1));//4
//求数组后面地址的大小
printf("%d\n", sizeof(&arr[0]+1));//4
//求下标为1元素的大小
return 0;
}