C言語で数値型(int型, short型, long型, float型, double型)の2次元配列を扱う場合は、表計算のセルをイメージすると分かりやすいです。
例えば以下のような3教科の得点が入力された生徒5人分の表があったとします。
これを2次元配列で表すとこんな感じです。
int tokuten[5][3] = { { 100, 100, 100}, {20, 30, 10}, {50, 60, 50}, {0, 0, 0}, {100, 80, 90} };
1人分の得点が1次元配列だと考えるとしっくりきます。
int tokuten[3] = {100, 100, 100};
2次元配列の場合は、こうした1人分のデータのまとまりが5人分ある感じです。
添え字が2つになるのでまぎらわしいですが、表をイメージして行列の順で添え字がつくと考えると良いでしょう。
サンプルプログラムで2次元配列代入した数値を表示させてみます。
/* まとまった数値を2次元配列で表現 */ #include <stdio.h> int main(void) { int i; int tokuten[5][3] = { { 100, 100, 100}, {20, 30, 10}, {50, 60, 50}, {0, 0, 0}, {100, 80, 90} }; printf(" 国語 算数 理科\n"); for(i=0; i<5; i++){ printf("%2d人目 %5d%5d%5d\n", i+1, tokuten[i][0], tokuten[i][1], tokuten[i][2]); } return 0; }
実行イメージ
国語 算数 理科
1人目 100 100 100
2人目 20 30 10
3人目 50 60 50
4人目 0 0 0
5人目 100 80 90
行と列の添え字は、それぞれ0から始まるので注意が必要です。
例えば1人目の算数であれば、
tokuten[0][1]
と表します。
以上、数値型の2次元配列イメージでした。
コメント