C初級:数値型の2次元配列イメージ

C言語初級カテゴリのロゴ画像 C言語初級

C言語で数値型(int型, short型, long型, float型, double型)の2次元配列を扱う場合は、表計算のセルをイメージすると分かりやすいです。

例えば以下のような3教科の得点が入力された生徒5人分の表があったとします。

C初級:数値型の2次元配列イメージ

これを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つになるのでまぎらわしいですが、表をイメージして行列の順で添え字がつくと考えると良いでしょう。

C初級:数値型の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次元配列イメージでした。

コメント

タイトルとURLをコピーしました