首先看一维数组
#include <stdio.h>
int main() {
int arr[10] = { 0 };
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);
printf("*******************\n");
printf("%d\n", sizeof(arr));
return 0;
}
接着看二维数组
#include <stdio.h>
int main() {
printf("******* 一维数组 ******\n");
int arr[10] = { 0 };
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);
printf("***** 计算一维数组的长度 ********\n");
printf("%d\n", sizeof(arr));
printf("%d\n", sizeof(arr)/sizeof(arr[0]));
printf("******* 二维数组 ******\n");
int erwei[3][4] = { 0 };
printf("%p\n", erwei);
printf("%p\n", erwei + 1);
printf("***** 计算二维数组的长度 ********\n");
printf("%d\n", sizeof(erwei));
printf("行数:%d\n", sizeof(erwei) / sizeof(erwei[0]));
printf("列数:%d\n",sizeof(erwei[0])/sizeof(erwei[0][0]));
return 0;
}