C++二维数组怎么传参
时间: 2024-09-16 20:06:01 浏览: 58
二维数组的初始化-C++程序设计
在C++中,二维数组通常作为函数参数传递时,有两种常见的方式:
1. **通过引用(Pass by reference)**:
如果你需要修改原数组,可以将二维数组名作为引用传递。例如:
```cpp
void processArray(int(&array)[rows][columns]) {
// 在函数内部可以直接操作array
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < columns; ++j) {
array[i][j] *= 2; // 修改元素值
}
}
}
int main() {
int arr[4][5];
// 填充数组...
processArray(arr);
// 数组内容已经被修改了
}
```
2. **通过指针(Pass by pointer)**:
另一种方法是传递指向二维数组首元素的指针。这种方式允许函数直接访问数组,但不会影响到原始数组:
```cpp
void processArray(int (*array)[columns], int rows) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < columns; ++j) {
array[i][j] += 1; // 只能读取和修改副本
}
}
}
int main() {
int arr[4][5];
// 填充数组...
processArray(arr, 4); // 指针指向arr数组
// arr数组未受影响
}
```
阅读全文