将二维数组传递给 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

更新日期: 06-9 月 -2023

44K+ 浏览量

开启您的 职业

完成本课程并获得认证

开始
广告