C 多维数组
多维数组
在上一章中,您学习了 数组,也被称为一维数组。这些数组非常有用,并且在 C 编程中会经常用到。但是,如果您想以表格形式存储数据,例如带有行和列的表,那么您需要熟悉多维数组。
多维数组本质上是数组的数组。
数组可以有任意数量的维度。在本章中,我们将介绍最常见的——二维数组(2D)。
二维数组
二维数组也称为矩阵(行和列的表格)。
要创建一个二维整数数组,请看以下示例:
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
第一个维度代表行数 [2],第二个维度代表列数 [3]。这些值按行顺序排列,并可视化如下:

访问二维数组的元素
要访问二维数组的元素,您必须指定行和列的索引号。
此语句访问 matrix 数组的第一行 (0) 和第三列 (2) 中的元素值。
请记住: 数组索引从 0 开始:[0] 是第一个元素,[1] 是第二个元素,以此类推。
更改二维数组的元素
要更改元素的值,请引用每个维度中元素的索引号。
以下示例将更改第一行 (0) 和第一列 (0) 的元素值:
示例
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;
printf("%d", matrix[0][0]); // 现在输出 9 而不是 1
自己动手试一试 »
遍历二维数组
要遍历多维数组,您需要为数组的每个维度设置一个循环。
以下示例输出 matrix 数组中的所有元素:
示例
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}
自己动手试一试 »