C/C++中二維數組作爲函數參數------方法及要點講解

**

1,形參給出第二維的長度。

**
C/C++中二維數組作爲函數參數 的時候,可以不寫行號,但是一定要寫明列號(一定注意,一定注意,一定注意!)。

int array[3][3];
函數聲明:void fuc(int a[][3]);
函數調用:fuc(array);
——在函數fuc中,a是二維數組。使用a[i][j]形式來訪問數組中元素。

原因:必須要寫明下標,編譯器才能根據下標計算出元素的地址

**

2,形參聲明爲指向數組的指針,一定要寫明列號(一定注意,一定注意,一定注意!)。

**

int *array[3];
for(i = 0; i < 3; i++)
    array[i] = new int[3];
函數聲明:void fuc(int *a[3]);
函數調用:fuc(array);
——在函數fuc中,a是一維指針數組。使用*(a[i] + j)形式來訪問數組中元素。

3,參數使用指針的指針(不用指定列號了)

int **array;
array = new int *[3];
for(i = 0; i <3; i++)
    array[i] = new int[3];
函數聲明:void fuc(int **a);
函數調用:fuc(array);
——在函數fuc中, a是指針的指針。使用array[i * j + j]形式來訪問數組中元素。

**注意,**在函數中使用傳參過來的二維數組(指針)進行數組取值的時候不能使用(array[i][j])這種形式來取值。應該將二維數組看成一個一維數組,使用array[i * j + j]這種形式來進行取值。

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