23 C语言中二维数组的定义与使用

在上一篇中,我们讨论了 一维数组 的定义与使用。接下来,我们将深入探讨 二维数组,它是 C 语言中一种重要的数据结构。二维数组 可以看作是一个矩阵或表格,它由多行和多列组成,每个元素可以通过两个索引来访问。

一、二维数组的定义

在 C 语言中,二维数组 的定义格式如下:

1
数据类型 数组名[行数][列数];

例如,如果我们要定义一个 3x4int 类型的二维数组,可以这样写:

1
int array[3][4];

以上定义了一个包含 3 行 4 列的整数数组,其中每个元素可以通过 array[i][j] 进行访问,i 代表行号,j 代表列号。

二、二维数组的初始化

我们可以在定义 二维数组 的同时进行初始化。以下是几种初始化方式的示例:

  1. 逐个初始化
1
2
3
4
5
int array[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
  1. 部分初始化(未初始化的部分自动赋值为 0):
1
2
3
4
int array[3][4] = {
{1, 2},
{3, 4}
}; // 剩余元素自动填充为 0
  1. 不指定行数(编译器根据初始化的数量推断行数):
1
2
3
4
int array[][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8}
}; // 共有 2 行

三、二维数组的访问

我们通过行列索引来访问 二维数组 中的元素。例如,访问 array[0][1] 将返回值 2,而 array[2][3] 返回值 12

下面是一个简单的案例,演示如何定义、初始化并访问 二维数组 的元素:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>

int main() {
int array[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};

// 访问并打印所有元素
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("array[%d][%d] = %d\n", i, j, array[i][j]);
}
}

return 0;
}

在上面的代码中,我们使用嵌套的 for 循环来遍历并打印 二维数组 的所有元素。

四、二维数组作为函数参数

我们也可以将 二维数组 作为参数传递给函数。以下是一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>

void printArray(int arr[][4], int rows) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}

int main() {
int array[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};

printArray(array, 3); // 传递二维数组

return 0;
}

在这个例子中,函数 printArray 接受一个 二维数组 和行数作为参数,并打印数组的内容。

五、总结

通过本节的学习,我们了解了 二维数组 的定义与使用方法。二维数组 是处理表格数据时非常有效的工具,可以灵活地应用于各种场合。在下一篇中,我们将讨论 字符串 的定义与操作,这是一个与 数组 紧密相关的重要主题。

希望本文能够为你在 C 语言的学习过程中提供帮助!

23 C语言中二维数组的定义与使用

https://zglg.work/cplusplus-zero/23/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论