📜  二维数组 - C++ (1)

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

二维数组 - C++

在C++中,二维数组又被称为数组的数组,因为数组本质上就是存储一系列数据的容器。通过定义一个数组,可以在内存中存储相同类型的多个数据。

定义

二维数组的定义方式与一维数组相似,只是需要指定每个维度的大小。

int arr[2][3]; // 定义一个2x3的二维数组

上述定义创建了一个名为arr的二维数组,它包含两行三列的元素。访问特定的元素需要使用两个索引,第一个是行数,第二个是列数。

arr[0][0] = 1; // 给第一行第一列的元素赋值为1
初始化

对于二维数组来说,初始化也需要指定每个维度。可以使用嵌套的花括号来初始化二维数组。

int arr[2][3] = { {1, 2, 3}, {4, 5, 6} }; // 初始化一个2x3的二维数组

如果只初始化部分元素,剩余的元素会被自动初始化为0。

int arr[2][3] = { {1, 2}, {4} }; // 初始化一个2x3的二维数组,第一行有两个元素,第二行只有一个元素

也可以只对第一维度进行初始化,此时需要在定义时指定第一维度的大小。这样定义的二维数组可以通过循环来初始化。

const int ROWS = 2;
const int COLS = 3;
int arr[ROWS][COLS];

for (int i = 0; i < ROWS; ++i) {
    for (int j = 0; j < COLS; ++j) {
        arr[i][j] = i * COLS + j;
    }
}
遍历

遍历二维数组时需要使用两个循环,首先遍历行,再遍历列。

for (int i = 0; i < ROWS; ++i) {
    for (int j = 0; j < COLS; ++j) {
        cout << arr[i][j] << " ";
    }
    cout << endl;
}

输出结果为:

0 1 2 
3 4 5 
多维数组

在C++中,可以定义多维数组。例如,定义一个3x4x5的三维数组。

int arr[3][4][5];

定义一个4x5x6x7的四维数组。

int arr[4][5][6][7];

依此类推,可以定义任意维度的数组。

总结

在C++中,可以使用二维数组来存储包含多个元素的数据。二维数组的定义方式与一维数组类似,可以通过循环来初始化和遍历。在需要存储更多维度的数据时,也可以使用多维数组。