本記事はC言語の多次元配列を学生エンジニアが初心者の方へ向けて優しく解説しています。C言語は非常に多くのエンジニアが利用する、手を付けやすい言語です。C言語での多次元配列を一緒に学習しましょう!
多次元配列
データ型 配列名 [要素数][要素数];
上記は2次元の場合の多次元配列の宣言方法です。
C言語では、配列数をいくつか並べることで、
2次元配列,3次元配列… と多次元の配列を作成することができます。
2次元配列は表のようなものをイメージしてください。
例えば、下のような表について、
二次元配列を用いると下のような都合の良いプログラムを作成できます。
Aさん | Bさん | |
科目1 | 56 | 86 |
科目2 | 76 | 60 |
科目3 | 39 | 56 |
int test[2][3];
test[0][0]=56;
test[0][1]=76;
test[0][2]=39;
test[1][0]=86;
test[1][1]=60;
test[1][2]=56;
「test[2][3]」の『[2]』の部分で、AさんBさんの2人を表しており、
『[3]』の部分で、3つの科目数を表しています。
あとは、それぞれの記憶される箱に値を代入しているだけです。
このようにイメージできる表を多次元配列を用いて表現することができるのです。
3次元配列は縦×横×高さのある立体や表のようなものをイメージしてください。
補足
下の2つのコードは同じ意味です。同じように書き換えができます。
int test[2][3];
test[0][0]=56;
test[0][1]=76;
test[0][2]=39;
test[1][0]=86;
test[1][1]=60;
test[1][2]=56;
int test[2][3]={ {56,76,39},{86,60,56} };
下の書き方は書く行を少なく、綺麗に宣言することができます。
サンプルコード
#include <stdio.h>
int main(void){
int i;
int test[2][3]={ {56,76,39},{86,60,56} };
printf("1,2,3のどの科目の点数を表示する?");
scanf("%d",&i);
printf("科目%dの点数を表示します\n",i);
printf("Aさん:%d点 Bさん:%d点\n",test[0][i-1],test[1][i-1]);
return 0;
}
【入力結果】
2
【実行結果】
科目2の点数を表示します
Aさん:76点 Bさん:60点
複雑に見えますが、
C言語の基礎知識と多次元配列を理解すればそこまで難しくありません。
ゆっくりと確認してみてください。
以上でC言語、多次元配列の解説を終わります。
最後まで読んでいただき、ありがとうございました\(^o^)/
C言語の超オススメ本
この1冊でC言語のほとんどが完結する、間違いのない本ですよ\(^o^)/
つまづいたときに逆引きするC言語の辞書代わりにもなります!
リンク
PCを操作する上で、トラックボールマウスも非常におすすめです!
僕も感動したこのマウスを、騙されたと思って使ってみてください!(^^)
リンク