一位数组数组名单独在sizeof()中,代表整个数组
二维数组a[][],把a[]看成数组名,sizeof(a)中,数组名代表二维数组的首元素地址,也就是第一行数组的地址。
例如a[3][4],a代表二维数组首元素地址,也是第一行数组的地址,而a+1则代表第一行地址+1,就是第二行地址,两个地址相差4个int大小,也就是16个字节。
sizeof求数组大小是要包括\0的,而strlen求数组大小是不包括\0的,但是以\0作为结束标识。同时strlen括号中
为地址。
int a[] = { 1, 2, 3, 4 };
printf("%d\n", sizeof(a)); // 16 数组名单独放在sizeof中代表整个数组,求数组大小,以字节为单位,应该为16
printf("%d\n", s