C言語の2次元配列の初期化の規則は次のとおりです。
C言語では2次元の配列は次のように初期化します。
- 配列要素の初期化は中かっこ {} を使い、改行ごとにカンマで区切ります。
- 配列のサイズと初期値の数が一致する必要があります。初期値の数が配列のサイズより少ない場合、残りの要素は自動的に0で初期化されます。
- 配列のサイズよりも初期化値の数が多くても、初期化に用いられるのは先頭の値のみで、それ以降の値は無視されます。
- 初期化の値は、定数、変数、式です。
例えば、3行4列の2次元配列の場合、次のように初期化できます:
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
配列要素の値は次のとおりです。
1 2 3 4
5 6 7 8
9 10 11 12
初期化値の数が配列のサイズよりも少ない場合には、残りの要素は自動的に0で初期化されます。例えば、
int arr[3][4] = {
{1, 2},
{5, 6, 7},
{9}
};
配列の要素の値
1 2 0 0
5 6 7 0
9 0 0 0
配列のサイズよりも初期化値の個数が多い場合は先頭の値のみが配列要素の初期化に使用され、残りの値は無視されます。例えば、
int arr[3][4] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9},
{10, 11, 12}
};
要素の値:
1 2 3 4
6 7 8 9
10 11 12 0