C++多维数组

C++多维数组教程

C++数组 是支持多维的,如果是二维数组,那么数组的每一个元素都是一个一维数组,如果数组是三维数组,那么每一个元素都是一个二维数组。

一般我们使用最多的就是二维数组,很少用到三维数组,更多维的数组几乎更用不到。

C++二维数组详解

定义

C++ 的二维数组,就是数组的每一个元素都是一个一维数组。

语法

type arrName[row][col]

参数

参数 描述
type 数组每一个元素的类型。
arrName 数组名。
row 二维数组的行数。
col 二维数组的列数。

说明

我们定义了一个二维数组 arrName,该数组拥有 row 行 col 列,每个元素的 类型 都是 Type。

C++三维数组详解

定义

C++ 的三维数组,就是数组的每一个元素都是一个二维数组。

语法

type arrName[pos][row][col]

参数

参数 描述
type 数组每一个元素的类型。
arrName 数组名。
pos 三维数组包含几个二维数组。
row 二维数组的行数。
col 二维数组的列数。

说明

定义一个三维数组 arrName,该数组的每一个元素都是一个二维数组,二维数组拥有 row 行 col 列,每个元素的类型都是 Type。

案例

创建二维数组

创建二维数组时,必须指定二维数组的行和列

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; // C++二维数组 int arr[5][3] = { {1, 11, 111}, {2, 22, 222}, {3, 33, 333}, {4, 44, 444}, {5, 55, 555} }; for(int i = 0; i < 5; i++) { for(int j = 0; j < 3; j++) { cout << arr[i][j] << " "; } cout << endl; } return 0; }

程序运行后,控制台输出如下:

19_C多维数组.png

我们创建了一个五行三列的二维数组,每个数组元素都是 int 类型,接着我们使用数组初始化的方式给数组赋值。最后,我们使用 cout 打印数组的内容。

在打印数组内容时,我们使用了双层 for 循环,第一层 for 循环来遍历数组的行数,第二层 for 循环来遍历数组的列表,最后,打印出所有的元素。

创建三维数组

创建三维数组

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; // C++三维数组 int arr[2][5][3] = { { {1, 11, 111}, {2, 22, 222}, {3, 33, 333}, {4, 44, 444}, {5, 55, 555} }, { {21, 211, 2111}, {22, 222, 2222}, {23, 233, 2333}, {24, 244, 2444}, {25, 255, 2555} } }; for(int k = 0; k < 2; k++) { for(int i = 0; i < 5; i++) { for(int j = 0; j < 3; j++) { cout << arr[k][i][j] << " "; } cout << endl; } cout << endl << endl; } return 0; }

程序运行后,控制台输出如下:

20_C多维数组.png

我们创建了一个三维数组,该数组有两个元素,每个元素也都是一个五行三列的二维数组。

C++多维数组总结

C++ 的数组是支持多维的,如果是二维数组,那么数组的每一个元素都是一个一维数组,如果数组是三维数组,那么每一个元素都是一个二维数组。