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 <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); // C语言二维数组 int arr[5][3] = { {1, 11, 111}, {2, 22, 222}, {3, 33, 333}, {4, 44, 444}, {5, 55, 555} }; int i = 0; for(i = 0; i < 5; i++) { int j = 0; for(j = 0; j < 3; j++) { printf("%d ", arr[i][j]); } printf("\n"); } return 0; }

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

19_c语言二维数组.png

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

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

创建三维数组

创建三维数组

#include <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); // 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} } }; int k = 0; for(k = 0; k < 2; k++) { int i = 0; for(i = 0; i < 5; i++) { int j = 0; for(j = 0; j < 3; j++) { printf("%d ", arr[k][i][j]); } printf("\n"); } printf("\n\n"); } return 0; }

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

20_c语言三维数组.png

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

C语言多维数组总结

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