配列


さあ、いよいよ難しいと評判のポインタだぜ。
サメさんはご理解?
シャークプログラマだからな、何でも聞いてくれ!
どうやってタイピングしてるんですか?
そっちかよ!


7章は少しC言語とはなれた内容のようにも見えますが、
この8章ではそれを実際にC言語で利用します。
7章の内容がいまいち解らなかった人は、もう一度読まれた方がいいかもしれません。

さて、プログラミングにおいて、大量の変数を利用したいことはよくあります。
しかし、例えば100個の変数を扱いたい時に、いちいち
int data1,data2,data3,...(略)...,data100;
などとしていると、あまりにも面倒ですね。

そんな時に利用するのが「配列」です。
配列とはメモリ上に連続した領域を確保し、扱いやすくしたものです。
では実際に扱って見ましょう。

int main()
{
  int data[3];/*int型の変数3個分の領域を確保*/
  data[0]=1;
  data[1]=2;
  data[2]=data[0]+data[1];
  return 0;
}

直感的で解りやすいので、それほど説明は要りませんと思いますが、
以下が配列の作成と利用の書式です。

/*配列作成*/
データ型 配列名[データの数];
/*配列利用(xは変数)*/
配列名[データの番号]=x;
x=配列名[データの番号];

ここで注意しなければいけないことが、作成時は「データの数」で指定するのに対し、
利用時のデータの番号(「添え字」や「index」等と呼ぶ)は「0から始まる」ということです。
データ数が3個ならばデータの番号は 0〜2 までだということです。

また、もう一つ注意があります。
配列の大きさはあらかじめ決まってなくてはいけないので、
「データの数」は定数を用い、変数を用いてはいけません。
一方、添え字のほうには変数を用いてもかまいません

+------メモリ------+  ---------+
|int型の変数の領域 |--data[0]  |
+------------------+           |
|int型の変数の領域 |--data[1]  +--data[3]
+------------------+           |
|int型の変数の領域 |--data[2]  |
+------------------+  ---------+