📜  C++多维数组(1)

📅  最后修改于: 2023-12-03 15:14:04.257000             🧑  作者: Mango

C++多维数组

C++的多维数组是一种包含多个元素的数组,其中每个元素都是一个数组。与一维数组类似,多维数组也是在内存中连续存储的,但是每个元素的大小并不一定相同。

声明和初始化
声明

多维数组的声明形式为 type name[size1][size2]...[sizeN];,其中 type 是数组元素的类型,name 是数组的名称,size1、size2、...、sizeN 是每个维度的大小。

例如,声明一个具有 2 行 3 列的二维整型数组可以如下所示:

int a[2][3];

声明一个具有 2 个 3 行 4 列的三维整型数组可以如下所示:

int b[2][3][4];
初始化

多维数组的初始化可以在声明时或者在赋值时完成。多维数组的初始化方式跟一维数组类似,只需要在大括号中指定初始值即可。其初始化方式如下:

二维数组初始化

int a[2][3] = { {1, 2, 3}, {4, 5, 6} };

上述初始化方式表示第 1 行的元素为 1、2、3,第 2 行的元素为 4、5、6。

三维数组初始化

int b[2][3][4] = {
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    },
    {
        {13, 14, 15, 16},
        {17, 18, 19, 20},
        {21, 22, 23, 24}
    }
};

上述初始化方式表示第 1 个二维数组的第 1 行元素为 1、2、3、4,第 2 行元素为 5、6、7、8,第 3 行元素为 9、10、11、12;第 2 个二维数组的第 1 行元素为 13、14、15、16,第 2 行元素为 17、18、19、20,第 3 行元素为 21、22、23、24。

访问多维数组
二维数组访问

对于二维数组,可以使用下标运算符 [] 进行访问,例如访问第 i 行、第 j 列的元素可以使用 a[i][j]。

int a[2][3] = { {1, 2, 3}, {4, 5, 6} };

cout << a[1][2] << endl; // 输出 6
三维数组访问

对于三维数组,可以使用下标运算符 [] 进行访问,例如访问第 i 个二维数组中第 j 行、第 k 列的元素可以使用 b[i][j][k]。

int b[2][3][4] = {
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    },
    {
        {13, 14, 15, 16},
        {17, 18, 19, 20},
        {21, 22, 23, 24}
    }
};

cout << b[1][2][3] << endl; // 输出 24
总结

C++多维数组是一种包含多个元素的数组,其中每个元素都是一个数组。多维数组的声明形式为 type name[size1][size2]...[sizeN];,其中 type 是数组元素的类型,name 是数组的名称,size1、size2、...、sizeN 是每个维度的大小。多维数组的初始化可以在声明时或者在赋值时完成,使用下标运算符 [] 进行访问。