24 数组与字符串之二维数组

C++完整教程

在上一篇中,我们探讨了一维数组的基本概念与用法。这一篇我们将深入到二维数组的世界。二维数组是数组的数组,适合用于表示矩阵、表格等结构。在接下来的内容中,我们将通过详细的阐述和实例来帮助你理解和使用二维数组。

一、什么是二维数组

在C++中,二维数组可以被视为一个矩阵,其中每个元素都可以通过两个索引来访问,例如array[i][j]表示第i行第j列的元素。创建一个二维数组的基本语法如下:

1
data_type array_name[row_size][column_size];

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;

int main() {
// 定义一个 3x4 的整型二维数组
int arr[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) {
cout << arr[i][j] << " ";
}
cout << endl; // 换行
}

return 0;
}

运行上面的代码,你会看到以下输出:

1
2
3
1 2 3 4 
5 6 7 8
9 10 11 12

二、二维数组的初始化

在定义二维数组时,可以在定义时直接初始化,这就是以上代码中的例子。也可以先声明再赋值:

1
2
3
int arr[3][4]; // 声明
arr[0][0] = 1; arr[0][1] = 2; // 逐个赋值
// ...

符号与长度

如上所述,arr[i][j]i代表行,j代表列。无论是用于存储数字、字符还是其他数据,每个元素的大小由声明时的data_type决定

三、访问和遍历二维数组

访问二维数组中的元素和遍历其所有元素是学习的重要内容。

示例:遍历二维数组

下面的例子展示了如何通过两层循环访问二维数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;

int main() {
int arr[2][3] = {
{1, 2, 3},
{4, 5, 6}
};

// 遍历数组
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
cout << "元素 [" << i << "][" << j << "] 的值是: " << arr[i][j] << endl;
}
}

return 0;
}

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

在C++中,你可以将二维数组作为函数参数来进行处理,以下是一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;

void printArray(int arr[][3], int rows) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < 3; ++j) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}

int main() {
int arr[2][3] = {
{1, 2, 3},
{4, 5, 6}
};

printArray(arr, 2); // 调用函数

return 0;
}

在这里,printArray 函数接收一个二维数组和数组的行数作为参数,并打印出数组的内容。

五、结论

到此为止,我们已经介绍了二维数组的定义、初始化、访问、遍历及如何将其作为函数参数。理解二维数组的基本操作对后续的字符串处理将大有裨益。在下一篇中,我们将深入探讨如何处理字符串,包括字符串的基本操作与应用,敬请期待!

24 数组与字符串之二维数组

https://zglg.work/c-plusplus-zero/24/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-24

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论