1.確定大小的二維陣列
void func(int array[3][10]);
void func(int array[10]);
2.不確定大小的二維陣列轉為二維指標:
從實參傳遞來的是陣列的起始位址,在記憶體中按陣列排列規則存放(按行存放),而並不區分行和列,所以可以轉換成二維指標。
void func(int **array, int m, int n);
呼叫時候要把陣列名轉換位二維指標
func((int**)a, 3, 3);
獲取具體陣列元素
*((int*)array + n*i + j);
:其中 (int *)array把array轉換成一維陣列的儲存方式
然後從一維陣列裡讀取元素。
若*(array + n*i + j); 輸出:
00000001
00000002
00000003
00000004
00000005
00000006
00000007
00000008
00000009
0000000a
0000000b
0000000c
0000000d
0000000e
0000000f
00000010
若*((int*)array + n*i + j); 輸出:12
3456
78910
1112
1314
1516
3.最方便的還是轉為一維指標。
因為在記憶體中是連續存放的,所以。。。。。
void func(int *array, int m, int n);
呼叫時候要把陣列名轉換位二維指標
func((int*)a, 3, 3);
獲取具體陣列元素
*(array + n*i + j);
C 陣列 二維陣列 函式引數
一維陣列 1 include 2 using namespace std 3int main 4 7 通過指標的方式訪問陣列 8 int p numbers 9 cout 普通指標的方式訪問 n 10for int i 0 i 5 i 11 cout p i 12 cout 13 14 在這裡面nu...
C 二維陣列作函式引數
變數在作用域裡面被宣告的是什麼型別,就當作什麼型別來用。1 引數是二維陣列,但是要指定第二維的維數。int array 10 10 函式宣告 void fuc int a 10 函式呼叫 fuc array 在函式fuc中,a是二維陣列。使用a i j 形式來訪問陣列中元素。2 引數使用一維指標陣列...
C 二維陣列作函式引數
變數在作用域裡面被宣告的是什麼型別,就當作什麼型別來用。1 引數是二維陣列,但是要指定第二維的維數。int array 10 10 函式宣告 void fuc int a 10 函式呼叫 fuc array 在函式fuc中,a是二維陣列。使用a i j 形式來訪問陣列中元素。2 引數使用一維指標陣列...