C++ 将二维数组传递给函数
C++ 不允许将整个数组作为函数参数传递。但是,您可以通过指定数组的名称而不带索引来传递指向数组的指针。有三种方法可以将 2D数组 传递给函数−
指定2D数组的列大小
void processArr(int a[][10]) {
// Do something
}
传递包含指针的数组
void processArr(int *a[10]) {
// Do Something
}
// When callingint *array[10];
for(int i = 0; i < 10; i++)
array[i] = new int[10];
processArr(array);
将指向指针的指针传递
void processArr(int **a) {
// Do Something
}
// When calling:
int **array;
array = new int *[10];
for(int i = 0; i <10; i++)
array[i] = new int[10];
processArr(array);
示例
#include<iostream>
using namespace std;
void processArr(int a[][2]) {
cout << "element at index 1,1 is " << a[1][1];
}
int main() {
int arr[2][2];
arr[0][0] = 0;
arr[0][1] = 1;
arr[1][0] = 2;
arr[1][1] = 3;
processArr(arr);
return 0;
}
输出
这将给出输出-
element at index 1,1 is 3