C/C++における2次元配列を関数パラメータとして------方法及び要点説明


**
1.パラメータは2次元の長さを与えます.
**C/C++の2次元配列を関数パラメータとする場合は、行番号を書かなくてもよいが、必ず列番号を明記しておく(注意、注意、注意、注意!).
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]          。

**注意**は、**が関数に渡された2次元配列(ポインタ)を使用して配列の値を取る場合、(array[i][j])という形式で値を取ることはできません.2次元配列を1次元配列と見なし、array[i*j+j]という形式で値を取るべきです.