作业帮 > 综合 > 作业

int a[2][3]={{1},{2},{3,4}} 为什么不是正确的定义

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/14 08:30:17
int a[2][3]={{1},{2},{3,4}} 为什么不是正确的定义
int a[2][3]={{1},{2},{3,4}} 为什么不是正确的定义
C中似乎二维数组可省略第一维长度,但是第二维却不行,这与数据存储方式有关.
int【2】【3】这个数组是这样的:
a00 a01 a02
a10 a11 a12
也就是一共有两个一维数组,每个一维数组有三个数据.
int【3】【2】为:
b00 b01
b10 b11
b20 b21
也就是一共有三个一维数组,每个一维数组有两个数据.
虽然他们存储在硬件中的顺序都是从左到右从上到下,但是计算机存取度数的计算方式是不一样的.
再问: 还是有点模糊,我把里面再加一个数组是正确定义吗
再答: 就是说{{1},{2},{3,4}} 转换成数组是: 1 0 2 0 3 4 这个很明显是三个一维数组组成的二维数组。 二维数组第一维就是有几个一维数组,第二维则是每个一维数组里有几个数据。 如果再在这个数组里加入一组数据的话,如{{1},{2},{3,4},{5,6,7}} ,那么你的定义就应该是 int c[4][3]了,它所对应的数组为 1 0 0 2 0 0 3 4 0 5 6 7