若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为( ).
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 11:08:13
若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为( ).
若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为( ).
若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为( ).
相信你们这么回答还是无法让楼主满意的.可以看这例子,楼主你可以自己编译下看看结果,也可以看我的注释.
#include
int main()
{
int a1[][8]={1,2,3,4,5,6,7,8}; // 二维数组,第一维不写,元素自动填充,这里没满两行,相当于a1[1][8]一共可以保存8个int型
int a2[][8]={1,2,3,4,5,6,7,8,9}; // 这里满两行,相当于a[2][8],一共可以保存16个int型
int b[2][8]={1,2,3,4,5,6,7,8,9,10,11,12}; // 相当于a[2][8],一共可以保存16个int,这里你写到17会报错
int c[5] = {1,2,3,4,5};
printf("int类型sizeof[%d]\n",sizeof(int)); // int型sizeof结果看编译器和操作系统的.这里得出4,说明我这里是4个字节
// int型数组,每个的sizeof当然和直接sizeof(int)结果一样,当然和int x = 0;sizeof(x);值一样
printf("元素sizeof:a1(%d),a2(%d),b(%d),c(%d)\n",sizeof(a1[0][5]),sizeof(a2[1][7]),sizeof(b[1][1]),sizeof(c[3]));
// 要想知道数组的真正大小,在sizeof中填入数组的首地址. 将计算出数组的字节数,也就是数组可以容纳的int型数量乘以int型字节(这里是4).
printf("数组sizeof:a1(%d);a2=x*8(%d),b=2*8(%d);c=5(%d)\n", sizeof(a1),sizeof(a2),sizeof(b),sizeof(c));//
return 0;
}