C 语言数组教程:定义、访问、修改、循环遍历及多维数组解析

发布时间:2026/8/2 7:55:55

C 语言数组教程:定义、访问、修改、循环遍历及多维数组解析 C 数组数组用于将多个值存储在单个变量中而不是为每个值声明单独的变量。要创建数组请定义数据类型例如int并指定数组名称后面跟着方括号[]。要将值插入其中请使用逗号分隔的列表并在花括号内使用代码语言cAI代码解释int myNumbers[] {25, 50, 75, 100};现在我们已经创建了一个变量其中包含一个包含四个整数的数组。访问数组元素要访问数组元素请参阅其索引号。数组索引从 0 开始[0]是第一个元素。[1]是第二个元素等等。以下语句访问myNumbers中第一个元素[0]的值代码语言cAI代码解释printf(%d, myNumbers[0]); // 输出 25更改数组元素要更改特定元素的值请参阅索引号代码语言cAI代码解释myNumbers[0] 33;循环遍历数组您可以使用for循环遍历数组元素。以下示例输出myNumbers数组中的所有元素代码语言cAI代码解释int myNumbers[] {25, 50, 75, 100}; int i; for (i 0; i 4; i) { printf(%d\n, myNumbers[i]); }设置数组大小另一种常见的方法是创建数组指定数组的大小然后添加元素代码语言cAI代码解释// 声明一个包含四个整数的数组 int myNumbers[4]; // 添加元素 myNumbers[0] 25; myNumbers[1] 50; myNumbers[2] 75; myNumbers[3] 100;使用这种方法您应该事先知道数组元素的数量以便程序存储足够的内存。创建数组后您无法更改数组的大小。获取数组大小或长度要获取数组的大小可以使用sizeof运算符代码语言cAI代码解释int myNumbers[] {10, 25, 50, 75, 100}; printf(%lu, sizeof(myNumbers)); // 打印 20为什么结果显示 20 而不是 5当数组包含 5 个元素时这是因为sizeof运算符返回类型的大小以字节为单位。一个int类型通常是 4 个字节因此从上面的示例中4 x 54 字节 x 5 个元素 20 字节。当您使用需要良好内存管理的大型程序时了解数组的内存大小非常有用。但是当您只想找出数组有多少个元素时可以使用以下公式将数组的大小除以一个数组元素的大小代码语言cAI代码解释int myNumbers[] {10, 25, 50, 75, 100}; int length sizeof(myNumbers) / sizeof(myNumbers[0]); printf(%d, length); // 打印 5改进循环在上面的数组循环部分我们在循环条件 (i 4) 中写了数组的大小。这并不理想因为它只适用于特定大小的数组。但是通过使用上面示例中的sizeof公式我们现在可以编写适用于任何大小数组的循环这更可持续。而不是写代码语言cAI代码解释int myNumbers[] {25, 50, 75, 100}; int i; for (i 0; i 4; i) { printf(%d\n, myNumbers[i]); }最好写代码语言cAI代码解释int myNumbers[] {25, 50, 75, 100}; int length sizeof(myNumbers) / sizeof(myNumbers[0]); int i; for (i 0; i length; i) { printf(%d\n, myNumbers[i]); }C 多维数组数组也称为单维数组。这些非常棒是您在 C 语言编程中会经常使用的东西。然而如果您想要将数据存储为表格形式例如带有行和列的表格则需要熟悉多维数组。多维数组本质上是数组的数组。数组可以具有任何数量的维度。我将介绍最常见的一种二维数组 (2D)。二维数组二维数组也称为矩阵带行列的表格。要创建整数的二维数组请看以下示例代码语言cAI代码解释int matrix[2][3] { {1, 4, 2}, {3, 6, 8} };第一个维度表示行数 2而第二个维度表示列数 3。值按行顺序放置可以这样可视化142368访问二维数组的元素要访问二维数组的元素您必须指定行和列的索引号。以下语句访问matrix数组第一行 (0) 和第三列 (2) 中元素的值。代码语言cAI代码解释int matrix[2][3] { {1, 4, 2}, {3, 6, 8} }; printf(%d, matrix[0][2]); // 输出 2请记住数组索引从 0 开始 0 是第一个元素。 1 是第二个元素等等。更改二维数组中的元素要更改元素的值请参考每个维度的元素索引号以下示例将更改第一行 (0) 和第一列 (0) 中元素的值代码语言cAI代码解释int matrix[2][3] { {1, 4, 2}, {3, 6, 8} }; matrix[0][0] 9; printf(%d, matrix[0][0]); // 现在输出 9 而不是 1循环遍历二维数组要循环遍历多维数组您需要为数组的每个维度设置一个循环。以下示例输出matrix数组中的所有元素代码语言cAI代码解释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]); } }最后为了方便其他设备和平台的小伙伴观看往期文章

相关新闻