c 傳遞多維陣列

2021-06-25 13:51:35 字數 370 閱讀 2266

在c/c++中,給函式傳遞多維陣列有兩種表示法-----陣列表示法和指標表示法。

//陣列表示法

void display(int arr[5], int rows)

//指標表示法

void display(int (*arr)[5], int rows)

值得注意的是,在使用陣列表示法的時候,第二維必須要指定,否則編譯器無法使用下標。

還有更值得注意的地方。int  (*arr)[5] 千萬不要漏掉括號寫成 int  *arr[5],這樣編譯器雖然不會報錯,但事實上卻不是我們想要的結果了。函式會誤以為我們傳入的陣列擁有5個整數指標(可以進化成不規則陣列),而本來是規則是規則陣列的。

函式傳遞多維陣列

一維陣列作為函式引數可以寫成 f int array int size 或者 f int array int size 中的陣列的維數可選 二維陣列作為函式引數可以寫成 f int array 10 int size1 int size2 的形式,除了第一維的引數可以省略,其他的引數必須顯示說明。以...

多維陣列的傳遞

includeusing namespace std void test int arr 10 int row size arr 一定要加括號 表示指向陣列的指標 傳遞給函式的陣列的處理有三種 風格的字串以空字元null作為結束的標記 2.傳遞指向陣列第乙個和最後乙個元素的的下乙個位置的指標 voi...

多維陣列的傳遞

接收多維陣列的函式,可以省略相當於開頭下標的n維的元素個數。但是,n 1 維之下的元素個數必須是常量。以下是接收一維 二維 三維陣列的引數的宣告示例 void func1 int v,int n 元素型別為int 元素個數隨意 n void func2 int v 3 int n 元素型別為int ...