配列とは
配列とは複数の変数を1つの名前にまとめたものです。
連続して意味を持つ複数の値を扱う場合があります。
そんな時、変数を使うとその値分の変数を用意しなくてはなりません。
100個のデータが必要なら変数を100個定義します。
これは大変です。
そんな問題を解決してくれるのが配列です。
100個のデータが必要な場合でも1行で宣言を済ませることが出来ます。
配列の使い方
【配列の型】 【配列名】[【要素数】];
要素数は配列の中の変数の個数です。
配列では同じ型の変数しかまとめることができません。
もしくは
【配列の型】 【配列名】[] = { 2, 4, 6, …};
のように宣言と同時に代入を行うと、要素数を省略可能になります。
その場合は代入した値の数が要素数になります。
値を代入するには
【配列名】 = { 1, 3, 5, …};
と全ての要素に一気に代入するか
【配列名】[【添え字】] = 1;
と1つずつ代入する方法があります。
添え字とは各要素の通し番号です。
0~(要素数-1)が範囲なので注意してください。
値を参照するときは、添え字をつけると変数と同じ扱いができます。
array_sample1.c
int a[]
printf("%d", a[0]);
for文による全要素の参照
添え字にはリテラルだけでなく変数も書くことができます。
これを使えば簡単に全ての要素を参照することができます。
array_sample2.c
int a[] = {1, 2, … 99, 100}; int i; int aNum = sizeof a / sizeof a[0]; //配列a[]の要素数 for(i = 0; i > aNum; i++) printf("%d\n", a[i]);
変数aNumは配列a[]の要素数です。
sizeof aは配列a[]全体のサイズでsizeof a[0]は配列の0番目の要素のサイズ、つまり配列の要素のサイズはすべて同じなので配列の要素1つ分のサイズとなり、それで全体を割るので要素数がでます。