二维数组作为函数实参
时间: 2023-09-24 22:10:49 浏览: 145
二维数组作为函数的实参时,可以使用以下两种方式进行传递:
1. 将二维数组作为指针传递。
例如,定义一个函数来计算一个二维数组的和:
```c++
void sum(int *arr, int rows, int cols) {
int total = 0;
for(int i=0; i<rows; i++) {
for(int j=0; j<cols; j++) {
total += *(arr + i*cols + j);
}
}
cout << "Sum of array elements: " << total << endl;
}
```
在调用该函数时,需要将二维数组转换为指向第一个元素的指针,并传递数组的行数和列数。
```c++
int main() {
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
sum(&arr[0][0], 3, 4);
return 0;
}
```
2. 使用数组引用传递二维数组。
使用数组引用时,可以将二维数组作为函数的形参,调用函数时直接传递二维数组。
例如,定义一个函数来打印一个二维数组的元素:
```c++
void print(int (&arr)[3][4]) {
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}
```
在调用该函数时,直接传递二维数组即可。
```c++
int main() {
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
print(arr);
return 0;
}
```
阅读全文