<2次元配列の宣言>
基本的には1次元配列と同じですが、当然、行と列の要素数が必要になります。
(構文) 型名 配列名[行の要素数][列の要素数];
(例) int a[3][4]; // 3x4のint型の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.初期化子が指定した要素数より大きい場合
初期化子が指定した要素数より大きい場合はコンパイルエラーとなります。