C ++不允许将整个数组作为参数传递给函数。但是,可以通过指定不带索引的数组名称来将指针传递给数组。有两种方法可以将2D数组传递给函数-
指定2D数组的列大小
void processArr(int a[][10]) { //做某事 }
传递包含指针的数组
void processArr(int *a[10]) { //做某事 } //调用int * array [10]时; for(int i = 0; i < 10; i++) array[i] = new int[10]; processArr(array);
将指针传递给指针
void processArr(int **a) { //做某事 } //致电时: 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