在上一篇中,我们探讨了一维数组的基本概念与用法。这一篇我们将深入到二维数组的世界。二维数组是数组的数组,适合用于表示矩阵、表格等结构。在接下来的内容中,我们将通过详细的阐述和实例来帮助你理解和使用二维数组。
一、什么是二维数组
在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() { 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
函数接收一个二维数组和数组的行数作为参数,并打印出数组的内容。
五、结论
到此为止,我们已经介绍了二维数组的定义、初始化、访问、遍历及如何将其作为函数参数。理解二维数组的基本操作对后续的字符串处理将大有裨益。在下一篇中,我们将深入探讨如何处理字符串,包括字符串的基本操作与应用,敬请期待!