多维数组的位置与它们在初始化期间表示的内容的相关性

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_01darray_11darray_2是一维数组,就像我们一开始创建的1darray一样。所以现在这将形成一个 3x3 二维数组。


现在3D数组可以这样构成:

int 3darray[] = {2darray_0, 2darray_1, 2darray_2};

其中2darray_02darray_12darray_2是二维数组,就像我们上面创建的2darray一样。所以现在这将形成一个 3x3x3 的 3D 数组。


你的例子:

A[3][4][2]

A 有:

  1. 3 行
  2. 4 列
  3. 2 个 z 列

但总的来说,我建议您记住我 2D dynamic array (C) 中的图片:

简明扼要地描述了我在开始时试图解释的内容。

随着维度的增加,您会在到达末尾时用下一维度的数组替换前一个数组的每个元素。