複数の変数を一括して扱う

複数の変数をまとめて扱う

MMGames

配列



配列の概念


今までは、変数を宣言する場合、必ず1つだけを宣言してきました。
しかし、場合によっては、大量の変数が必要になることもあります。
例えば、100人のテストの点数を管理するプログラムを作る場合、
どうしても、100個の変数が必要になってきます。

もし、いちいち100個の変数を宣言していてはキリがありません。
このような場合には、配列を使って、1度に複数の変数を宣言します。
配列とは、複数の同じ型の変数をまとめて取り扱えるようにする仕組みです。
配列
同じ型の変数を複数宣言し、番号によって管理することで、
複数のデータを一括して取り扱えるようにする仕組み。
配列として宣言された変数は、1つ1つが番号によって区別されます。
番号を適当に切り替えながら使うことで、100個でも1000個でも、
大量の変数を同じように取り扱うことが出来るようになります。


配列の宣言


配列は、次のようにして宣言します。

型名 配列名[要素数];
型名とは、今までの変数の型と同じ意味です。
ここで指定した型の変数が、要素数の数だけ作られます。

配列名とは、配列全体の名前のことです。
個々の変数を使う場合、この名前に番号を付けることで区別します。

要素数とは、作られる変数の数のことです。
ここで指定した数だけ、指定した型の変数が作られます。
ここで数として指定できるのは、整数値のみで、
宣言の時には、整数型の変数を指定することは出来ません。

以上が、配列の宣言の方法です。
次は、int型の変数を100個持つ、配列arrayを宣言する例です。

int array[100];


配列の取り扱い


配列の取り扱いは、配列名に番号を付けることを除けば、変数と全く同じです。
配列名に番号を付けるには、次のようにします。

配列名[番号]
ここで注意していただきたいのは、番号は0番から始まる点です。
例えば、前節で宣言した100個の要素数を持つ配列の場合、
指定できる番号は0~99までの100個です。1~100ではありません。

0番から始まるのはわかりにくいかもしれませんが、
数学的には、0から始まったほうが都合が良いケースがほとんどです。
初めの番号に10を足せば10になるので、10個先であることが明確にわかります。

0番から始まることにさえ気を付ければ、後は普通の変数となんら変わりません。
次のプログラムは、配列arrayの10番目の要素を使う例です。

#include <stdio.h>

int main(void)
{
	int array[100];
	
	array[9] = 100; /* 0番からなので9が10番目 */
	printf("1:%d\n",array[9]);
	array[9]++;
	printf("2:%d\n",array[9]);
	
	return 0;
}
このプログラムの実行結果は、次の通りになります。

1:100
2:101
結果を見ると、普通の変数を使った時と全く同じであることがわかります。

サイト目次


第0部:プログラム概要編

  1. プログラムとは何か?

2章:プログラムの書き方

  1. 書き方のルール
  2. 書き方の慣習
  3. 練習問題2

3章:画面への表示

  1. 文字列の表示
  2. 改行文字
  3. 練習問題3

6章:キーボードからの入力

  1. 入力用の関数
  2. 入力の恐怖
  3. 練習問題6

9章:回数が決まっている繰り返し

  1. 繰り返しを行う文
  2. ループ動作の仕組み
  3. 練習問題9

10章:回数がわからない繰り返し

  1. 回数不明ループ
  2. 入力チェック
  3. 練習問題10

13章:複数の変数を一括して扱う

  1. 複数の変数をまとめて扱う
  2. 配列の使い方
  3. 練習問題13

20章:複数のソースファイル

  1. 最小限の分割
  2. 分割の定石
  3. 練習問題20