- 配列 -
前のページ 次のページ
リスト
配列って?
色々な宣言
配列って?

変数の種類は型で分類されていて、今までに紹介してきた変数には宣言した型に当てはまる1つのデータしか代入することしかできませんでした。これに対して配列の場合、1つの変数に対して同じ型の複数のデータを代入することができます。下のコードを見てください。配列と普通の変数の違いを説明します。

上のコードでは、変数xと配列yを宣言しています。まずは宣言の仕方から見比べてみましょう。変数xは5行目、配列yは6行目で宣言しています。見比べるとyの方は[5]がついています。これは配列の宣言をする時に書きます。[5]は配列であり、要素の数は5つだと言う意味になるのです。ちなみに9~13行目は配列の要素番号を指定してデータを格納しています。配列番号は0から始まることに注意して下さい。要素の数を5つ宣言したら、04が要素番号になるわけです。16行目から20行目は配列の要素番号を指定してprintfでデータを出力しています。

ポイント
   配列の要素番号のことを添え字といいます。 要素数5を指定した配列の場合、有効になる添え字は0から4と言うことになります。宣言した要素数より1低い添え字までしか使えないことに注意して下さい。

ちょっとした実験をやってみよう。要素数を5つ宣言した変数に6つの変数を代入した場合はどうなるのでしょうか。

上のコード内容でコンパイルをしてみると、すんなりと完了しました。しかし、出来上がったファイルを実行してみるとエラーが発生したと思います(実行環境によっては発生しないからも)。これは想定外の書き込みが発生したためです。変数yには要素数5の配列を宣言しているので、本当は要素番号が0から4までのエリアしかデータを代入することができません。しかし、14行目で要素番号5のエリアにデータを代入しようとしたため、エラーが発生してしまったのです。環境によっては、エラーが発生せず、メモリ破壊を起してしまいます。

色々な宣言

配列には色々な宣言形式があります。まずは型に注目してみましょう。

先ほどまではint型の配列しか使っていませんでした。しかし、今回はchar, short, int, long, float, double,の型で配列操作をして見ました。上のソースコードでは、それぞれの型で5要素分の配列を作成し、数字を代入しました。出力された内容を見てみると、整数値、実数値の違いはありますが、代入した値をそのまま出力しています。

このように、配列はint型だけと言う事ではなく、全ての型で配列を作成することができると言うことがわかります。



前のページ 次のページ