0からのゲームプログラミング > 配列

Back Next
更新日 2003.09.17
配列

 まずは以下の例を見て下さい。

サンプルコード

#include	<stdio.h>

void main(void)
{
	// 変数を5つ用意
	int	enemy0, enemy1, enemy2, enemy3, enemy4;

	// 値を代入
	enemy0 = 0;
	enemy1 = 1;
	enemy2 = 2;
	enemy3 = 3;
	enemy4 = 4;

	// それぞれの番号を表示させる
	printf("敵 No.%d\n", enemy0);
	printf("敵 No.%d\n", enemy1);
	printf("敵 No.%d\n", enemy2);
	printf("敵 No.%d\n", enemy3);
	printf("敵 No.%d\n", enemy4);
}

実行結果
敵 No.0
敵 No.1
敵 No.2
敵 No.3
敵 No.4

 上の例では、同じようなことを5回繰り返しているだけです。これをもっと楽に書けないかということで、配列の登場です。

サンプルコード

#include	<stdio.h>

void main(void)
{
	int	i;
	int	enemy[5];	// 配列を宣言(5個の要素を持つ)

	// 値を代入(配列の添え字は 0 〜 4)
	for(i = 0; i < 5; i++)
		enemy[i] = i;

	// それぞれの番号を表示させる
	for(i = 0; i < 5; i++)
		printf("敵 No.%d\n", enemy[i]);
}

 実行結果は上と同じです。配列を宣言するときには、要素数を 5 にするなら、添え字も 5 にします。「値を代入」のところで、enemy[0] 〜 enemy[4] に値が格納されます。添え字が 0 〜 4 までというとこに注意して下さい。enemy[5] = 5; などとすると、プログラムが不正終了してしまいます。

 配列の宣言と同時に初期化することも出来ます。中括弧 { と } を使って以下のように書きます。実行結果は上と同じです。

サンプルコード

#include	<stdio.h>

void main(void)
{
	int	i;

	// 配列の宣言と同時に初期化する
	int	enemy[5] = {0, 1, 2, 3, 4};

	// それぞれの番号を表示させる
	for(i = 0; i < 5; i++)
		printf("敵 No.%d\n", enemy[i]);
}


 配列の宣言と同時に初期化する場合には、要素数を省略して書くことも出来ます。実行結果は上と同じです。

サンプルコード

#include	<stdio.h>

void main(void)
{
	int	i;

	/*	配列の宣言と同時に初期化する。
		初期化をする場合は、要素数を省略出来る。
		この場合、enemy[5] と書いたのと同じことになる。	*/
	int	enemy[] = {0, 1, 2, 3, 4};

	// それぞれの番号を表示させる
	for(i = 0; i < 5; i++)
		printf("敵 No.%d\n", enemy[i]);
}


コラム - 他人が書いたプログラムは読みにくい

 自分が過去に書いたプログラムよりも、当然他人が書いたプログラムの方が読みにくいと思います。ここで示しているサンプルコードのような比較的短いプログラムなら、他人が書いたといえども、それほど労力は必要ないかと思います。しかし、プログラムコードが長くなってくると、他人が書いたプログラムを理解するのは容易なことではありません。コメントもろくに書いていなければ、なおさらです。
 そういう意味で、ここで示しているサンプルコードは、なるべく短くまとめています。(つもりです。)
 

【スポンサード リンク】


Back Next

0からのゲームプログラミング > 配列