將二維陣列傳遞給 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

更新於:2023 年 9 月 6 日

44K+ 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.