C++基礎知識——二維數組做函數參數

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); 輸出:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


3.最方便的還是轉爲一維指針。

因爲在內存中是連續存放的,所以。。。。。

void Func(int *array, int m, int n); 


調用時候要把數組名轉換位二維指針


Func((int*)a, 3, 3); 


獲取具體數組元素


*(array + n*i + j); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章