多维数组的位置与它们在初始化期间表示的内容的相关性
Correlation of the positions of a multidimensional array to what they represent during initialization
首先我想澄清一下我下面的逻辑是否正确:
在二维数组中,比如 A[x][y],x 表示大括号的数量,y 表示每个大括号中的元素数量。所以 int A[2][3] 被初始化为:
{
{1,2,3}, //from A[0][0] to A[0][2];
{4,5,6} //from A[1]{0] to A[1][2];
};
其次,我想知道3维数组、4维数组等中的相似相关性是什么,以及如何知道哪个维数与任何多维数组的级别相关。
比如A[3][4][2]中,3是表示2dtable的个数,还是每个table中的rows/columns?而在A[2][3][4][5]中,2是否代表2dtable的个数,否。 3d tables,没有。 1d tables,或者没有。每 1 天 rows/columns table? Note:I我第一次接触多维数组,请尽可能简单地解释。
是的,你说的是对的。你可以认为递归.
从一维数组开始(假设它有 3 个元素):
int 1darray[] = {0, 1, 2};
现在生成一个二维数组只需说进入 1darray
的每个元素并放入另一个一维数组,以生成一个二维数组,如下所示:
int 2darray[] = {1darray_0, 1darray_1, 1darray_2};
其中1darray_0
、1darray_1
、1darray_2
是一维数组,就像我们一开始创建的1darray
一样。所以现在这将形成一个 3x3 二维数组。
现在3D数组可以这样构成:
int 3darray[] = {2darray_0, 2darray_1, 2darray_2};
其中2darray_0
、2darray_1
、2darray_2
是二维数组,就像我们上面创建的2darray
一样。所以现在这将形成一个 3x3x3 的 3D 数组。
你的例子:
A[3][4][2]
说 A
有:
- 3 行
- 4 列
- 2 个 z 列
但总的来说,我建议您记住我 2D dynamic array (C) 中的图片:
简明扼要地描述了我在开始时试图解释的内容。
随着维度的增加,您会在到达末尾时用下一维度的数组替换前一个数组的每个元素。
首先我想澄清一下我下面的逻辑是否正确: 在二维数组中,比如 A[x][y],x 表示大括号的数量,y 表示每个大括号中的元素数量。所以 int A[2][3] 被初始化为:
{
{1,2,3}, //from A[0][0] to A[0][2];
{4,5,6} //from A[1]{0] to A[1][2];
};
其次,我想知道3维数组、4维数组等中的相似相关性是什么,以及如何知道哪个维数与任何多维数组的级别相关。 比如A[3][4][2]中,3是表示2dtable的个数,还是每个table中的rows/columns?而在A[2][3][4][5]中,2是否代表2dtable的个数,否。 3d tables,没有。 1d tables,或者没有。每 1 天 rows/columns table? Note:I我第一次接触多维数组,请尽可能简单地解释。
是的,你说的是对的。你可以认为递归.
从一维数组开始(假设它有 3 个元素):
int 1darray[] = {0, 1, 2};
现在生成一个二维数组只需说进入 1darray
的每个元素并放入另一个一维数组,以生成一个二维数组,如下所示:
int 2darray[] = {1darray_0, 1darray_1, 1darray_2};
其中1darray_0
、1darray_1
、1darray_2
是一维数组,就像我们一开始创建的1darray
一样。所以现在这将形成一个 3x3 二维数组。
现在3D数组可以这样构成:
int 3darray[] = {2darray_0, 2darray_1, 2darray_2};
其中2darray_0
、2darray_1
、2darray_2
是二维数组,就像我们上面创建的2darray
一样。所以现在这将形成一个 3x3x3 的 3D 数组。
你的例子:
A[3][4][2]
说 A
有:
- 3 行
- 4 列
- 2 个 z 列
但总的来说,我建议您记住我 2D dynamic array (C) 中的图片:
简明扼要地描述了我在开始时试图解释的内容。
随着维度的增加,您会在到达末尾时用下一维度的数组替换前一个数组的每个元素。