<2次元配列の宣言>

 

 基本的には1次元配列と同じですが、当然、行と列の要素数が必要になります。

 

(構文) 型名 配列名[行の要素数][列の要素数];

 

(例)   int a[3][4]; // 3x4int型の2次元配列

 

<2次元配列の初期化>

 

 1次元配列と同様,初期化子を{}で囲み,先頭から順にカンマで区切って記述します。

 

(構文) 型名 配列名[要素数][要素数] = {

                          1, 2, 3, ...

                 };

 

1.基本的な書き方

 初期化リストを次元に対応させて{}で区切ります。

 

(例1 int a[2][3] = {{1,2,3},{4,5,6}};

 

(例2 int a[2][3] = {

                 {1,2,3},        // 行と列の対応と明確に...

                 {4,5,6}

         };

 

2.要素数の省略

 先頭の要素数に限り省略できます。

 

(例)   int a[][3] = {{1,2,3},{4,5,6}};       // O.K.

         int a[2][] = {{1,2,3},{4,5,6}};       // N.G.

         int a[][] = {{1,2,3},{4,5,6}};         // N.G.

 

3.要素数が足りない場合

 初期化子の足りない要素は0で初期化されます。ただし{}の囲み方によって初期化の仕方が異なるので注意が必要です。

 

(例)   int a[2][3] = {1,2}             // {1,2,0,0,0,0}になる

         int a[2][3] = {{1},{4,5}}      // {{1,0,0},{4,5,0}}になる

 

4.初期化子が指定した要素数より大きい場合

 初期化子が指定した要素数より大きい場合はコンパイルエラーとなります。

 

 

戻る