Menu
×
   ❮   
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]);
  }
}
自己试试 »


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.