函式傳遞多維陣列

2021-07-26 17:32:23 字數 386 閱讀 3651

一維陣列作為函式引數可以寫成: f(int * array , int size) 或者 f(int array , int size) (中的陣列的維數可選)

二維陣列作為函式引數可以寫成:f(int array[10] ,int size1 ,int size2 ,....)的形式,除了第一維的引數可以省略,其他的引數必須顯示說明。以上面為例,編譯器尋找array[3][3]的位址時通過(array+3*10+3)得到,若不指定其他的維數,則編譯器無法計算元素位址。

二維陣列作為函式引數也可以通過指標的方式傳遞,比如f(int **array,int size1,int size2) size2為第二維的維數,得到某一元素的位址需要手動計算,比如array[3][3]的指標為((int *)array+3*10+3)

c 傳遞多維陣列

在c c 中,給函式傳遞多維陣列有兩種表示法 陣列表示法和指標表示法。陣列表示法 void display int arr 5 int rows 指標表示法 void display int arr 5 int rows 值得注意的是,在使用陣列表示法的時候,第二維必須要指定,否則編譯器無法使用下標...

多維陣列的傳遞

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 ...