菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 多维数组


多维数组

在上一章中,您学习了 数组,也被称为一维数组。这些数组非常有用,并且在 C 编程中会经常用到。但是,如果您想以表格形式存储数据,例如带有行和列的表,那么您需要熟悉多维数组

多维数组本质上是数组的数组。

数组可以有任意数量的维度。在本章中,我们将介绍最常见的——二维数组(2D)。


二维数组

二维数组也称为矩阵(行和列的表格)。

要创建一个二维整数数组,请看以下示例:

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };

第一个维度代表行数 [2],第二个维度代表列数 [3]。这些值按行顺序排列,并可视化如下:


访问二维数组的元素

要访问二维数组的元素,您必须指定行和列的索引号。

此语句访问 matrix 数组的第一行 (0)第三列 (2) 中的元素值。

示例

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };

printf("%d", matrix[0][2]); // 输出 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]);
  }
}
自己动手试一试 »


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持