C++里面的多维数组
时间: 2025-03-09 15:08:34 浏览: 30
### C++ 中多维数组的使用
在 C++ 中,多维数组可以通过指定多个维度来定义。最常见的是二维数组,但也支持更高维度的数组。
#### 定义和初始化多维数组
一个多维数组可以在声明时被初始化:
```cpp
#include <iostream>
using namespace std;
int main() {
int test[3][3] = {{5, 10, 0}, {0, 15, 20}, {30, 0, 10}};
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 3; ++j) {
cout << test[i][j] << " ";
}
cout << "\n";
}
return 0;
}
```
这段代码展示了如何声明并初始化一个三维整数类型的数组 `test`,以及如何通过嵌套循环遍历该数组中的每一个元素[^2]。
#### 函数参数传递
当函数接受多维数组作为参数时,通常会采用指针的方式来进行传递。下面是一个例子展示如何将多维数组传入函数,并对其进行操作:
```cpp
void foo(int (*arr)[3][4], int size) {
// 使用指针访问多维数组
for (int i = 0; i < size; ++i) {
for (int j = 0; j < 3; ++j) {
for (int k = 0; k < 4; ++k) {
cout << arr[i][j][k] << " ";
}
cout << endl;
}
cout << endl;
}
}
```
这里定义了一个名为 `foo` 的函数,其接收指向 `[3][4]` 类型数据的指针 `arr` 和表示外部尺寸大小的变量 `size` 参数。这允许程序能够处理任意数量相同内部结构的数据集[^1]。
#### 嵌套循环遍历
为了有效地遍历整个多维数组,在编写代码时经常需要用到嵌套循环。对于每增加一维就需要额外一层循环来迭代对应的索引位置。例如,如果有一个四年的五个城市最大温度记录,则可以用如下方式声明数组并遍历其中的内容:
```cpp
// 声明一个用于保存四个年份里五个城市的最高温情况的数组
int maxtemps[4][5];
for (int year = 0; year < 4; ++year) {
for (int city = 0; city < 5; ++city) {
// 对应于某一年某一城市的最高气温赋值或者读取...
}
}
```
上述片段说明了怎样利用双重循环去填充或检索 `maxtemps` 数组里的信息[^3]。
阅读全文
相关推荐


















