【C言語】2次元配列の宣言・初期化・代入

スポンサーリンク
ビッグバナー(上2)

この記事では、C言語で二次元配列の宣言・初期化・代入する方法について解説します。

2次元配列とは

通常の配列は、データを1列に並べるため、1次元配列です。
それに対して、2次元配列は縦横の2次元で配列を考えます。
2次元で配列を考えると、ゲームのマップや画像など、2次元のデータを扱う際には非常に便利です。

2次元配列の宣言

2次元配列を使用する際は、まず宣言を行う必要があります。

【書式】
型 配列名[ 縦の要素数 ][ 横の要素数 ];

宣言例は下記の通りです。

【宣言例】
int score[2][3]; // 要素数が2×3のint型の2次元配列を宣言

| int | int | int |
| int | int | int |

配列の初期化

2次元配列を宣言する際に、同時に初期値を与えることができます。
これを「2次元配列の初期化」といいます。
初期化する際は、初期値をカンマ( , )で区切って括弧{ }内に並べます。
並べる初期値の個数は宣言した要素数に合わせる必要があります。
(要素数2×3なら初期値は6個必要)

【初期化の例1】
int score[2][3] = {10, 20, 30, 40, 50, 60}; // 要素数2×3のint型の配列を初期化

上記の例だと、score[0][0]に10、score[0][1]に20、score[0][2]に30、score[1][0]に40、score[1][1]に50、score[1][2]に30がそれぞれ格納されます。

| 10 | 20 | 30 |
| 40 | 50 | 60 |

また、初期化をする際には、次のようにわかりやすく記述することもできます。(結果は上と同じ)

【初期化の例2】
int score[2][3] = { {10, 20},
{30, 40},
{50, 60} };

変数を宣言する際に、初期値を同時に与える場合は、要素数の記述を省略することができます。
(省略すると要素数は初期値の個数に自動的に設定されます)

【初期化の例3】
int score[ ][ ] = { {10, 20},
{30, 40},
{50, 60} };

変数の代入

宣言した配列にデータを入れることを「配列への代入」といいます。
代入を行うと初期化したときのデータは消えます。(上書きされる)

【代入の例】
score[0][0] = 50;
score[0][1] = 70;
score[0][2] = 80;

【注意】
配列の要素を指定する添え字の数は、
0 ~ (要素数 -1)
となります。

【例】
要素数が3の場合は、有効な添え字は0~2となります。
※添え字は1~3だと間違えることが多いので注意

また、2次元配列でもint型の配列にchar型のデータを代入することはできません。

【関連記事】
配列とは?(意味・メリット・変数との違いなど)
C言語入門 (サンプルプログラム集)

スポンサーリンク
レクタングル(下2)
レクタングル(下2)

シェア&フォローお願いします!