阵列初始化 - 页 4

 
SDC:

所以它应该以这样的顺序来填充它

[0,0]

[0,1]

[0,2]

[0,3]

那么

[1,0]

[1,1]

[1,2]

[1,3]

那么

[2,0]

[2,1]

[2,2]

[2,3]


我明白了,但既然初始化是一元的,那么第三和第二组怎么可能有效?
 

等待

int Mas_i[3][4] = { 0, 1, 2, 3,   10, 11, 12, 13,   20, 21, 22, 23 };

3代表集合的数量,4代表集合中的不同数字的数量?

{(w,x,y,z) (a,b,c,d) (i,j,k,l) }

 

是的,当你使用初始化填充数组时,它的尺寸就是这样的,3套4个。

嗯,我知道现在已经很晚了,而且我也很累了,但还是......。

如果你用一个循环来填充它

int myarray[3,4]={0};

for(int i=0; i<4; i++)
{
myarray[i,0] = i;
}

这将是第一组4,对吗?但你不能这么做,我会用循环来填充数组,所以它会创建4组3个......就像10张票的[10,2]数组......好吧,我得去睡觉了,我现在不能再想这个问题了,lol

编辑:初始化序列填充数组[0,i] [1,i] [2,i]我不得不考虑一下......所以我真的有做[10,2]的坏习惯,我应该做10张票的[2,10]数组,所以它符合初始化的方式。

 
我终于明白了。
 

不过我觉得还是有关于数组初始化的问题......初始化的顺序和我想的不一样......[10,2]数组是处理2组10个对应值的正确方式,例如10张订单票,每张票有对应的类型。

我们可能在一个循环中输入它们的方式是。

for(i=0; i<10; i++)
{
 MyArray[i,0] = ticket[i];  
 MyArray[i,1] = type[i];
}

所以所有的十张票都放在第一个维度中,类型放在第二个维度中

然后运行第二个循环[i,1]来输入类型。

但是,如果我们要在初始化序列中一个一个地输入它们,我们就必须做票据类型票据类型......。

MyArray[10,2] = {ticket1, type1, ticket2, type2, ticket3, type3 等等 ...

这是因为初始化的顺序是。

我的数组[0,0]

我的数组[0,1]。

我的数组[1,0]

我的数组[1,1]

我的数组[2,0]

我的数组[2,1]

等 ...

我想我昨天晚上太累了,没有考虑到这个问题,lol ...

另外...

你可以使用[2,10]数组

这意味着门票是在一个for循环中反过来输入的

for(i=0; i<10; i++)
{
MyArray[0,i} = ticket[i];
MyArray[1,i] = type[i];
}
这次的初始化将是票证票证等........ type type type ....etc

序列将是

MyArray[0,0]

我的数组[0,1]

我的数组[0,2]

我的数组[0,3]等等,直到[0,9]。

那么

我的数组[1,0]

我的数组[1,1]

MyArray[1,2] 等等 ....