首先,我想澄清我在以下内容中的逻辑是否正确:在二维数组中,例如Ax,x表示大括号的数目,y表示每个大括号中的元素数。因此int A2初始化为:
{
{1,2,3}, //from A[0][0] to A[0][2];
{4,5,6} //from A[1]{0] to A[1][2];
};
其次,我想知道三维数组、四维数组中的相似关联是什么,以及如何知道哪个维数与任何多维数组的水平相关。例如,在A32中,3是否表示每个表中2d表或行/列的数目?在A24中,2表示2d表的数目,no。3d桌子,不。1d的桌子,或者不是。每个一维表的行/列?注:我是第一次在多维数组中思考,请尽可能简单地解释。
发布于 2016-07-30 07:08:58
是的,你说的是对的。您可以认为是递归的。
从一维数组开始(假设它有3个元素):
int 1darray[] = {0, 1, 2};
现在,生成一个2D数组只需将go放入1darray
的每个元素中,并放置另一个一维数组,以生成一个2D数组,如下所示:
int 2darray[] = {1darray_0, 1darray_1, 1darray_2};
其中1darray_0
、1darray_1
、1darray_2
是一维数组,就像我们在一开始创建的1darray
一样。现在,这将形成一个3x32D数组。
现在,3D数组可以这样形成:
int 3darray[] = {2darray_0, 2darray_1, 2darray_2};
其中2darray_0
、2darray_1
、2darray_2
是2D数组,就像我们前面创建的2darray
一样。现在,这将形成一个3x3x33D数组。
你的例子:
A[3][4][2]
说A
有:
不过,总的来说,我建议您记住我在二维动态阵列(C)中的图片。
它简单地描述了我一开始试图解释的事情。
随着维度的增加,在到达末尾时,可以使用下一个维度的数组替换前一个数组中的每个元素。
https://stackoverflow.com/questions/38671271
复制相似问题