TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*C言語* 〜19時限目〜 配列の仕組みについて・・・

〜目次〜

 

 

配列の仕組みについて

プログラムをやっていく上で、

たくさんのデータを扱う場合があります。

例として、学校を考えてみます。

学校には何百人もの生徒がいて、

その生徒のテストの点数を扱うプログラムを考えてください。

19時限目までに学んだ知識を使うことで、

変数にテストの点数を記憶させることができます。

1クラス40人だとして、

変数をtest1からtest40という変数を全部で40個用意します。

とやってしまうと、

コードが長く、複雑になってしまい便利とは言えません。

これが1000人分だとしたら、、

とんでもないことになってしまいます。

そんな場合には、

配列

という仕組みを使うと便利になります。

変数が特定の1つの値を記憶させる機能を持っていたことを、

思い出してください。

配列も「特定の値を記憶させる」という点で、

変数と同じ役割を持っています。

ただし、配列は

同じ型の値を複数まとめて記憶する

という便利な機能を持っています。

いくつもの同じ名前のついた箱が並んでいるようなイメージです。

変数と同様に、

配列の箱の中にも値を格納して利用することができます。

配列中のそれぞれの箱は、配列の

要素(element)

と呼ばれています。

 

配列を宣言する

変数と同じように、配列を利用する前に、

配列を宣言する

という作業が必要になります。

配列の場合も、

識別子から配列名を用意し、型を指定します。

ただし、配列の場合はこれに加えて、

値をいくつ記憶できるのか

という指定も行う必要があります。

配列では箱の数を指定する必要があるのです。

この数のことを、

素数

と呼んでいます。

配列の宣言は以下の通りです。

型名 配列名[要素数];

例では、

int test[5];

のようにすることで、

int型の値を5つ記憶できるtestという配列を用意できました。

配列の要素数は決まった数でなくてはいけません。

つまり、[ ]に記入する数は固定的な数である必要があります。

変数を指定することはできません。

配列を宣言すると、配列の各要素が用意され、

それぞれの箱に以下の名前がつきます。

test[0]

test[1]

test[2]

test[3]

test[4]

[ ]内に指定する番号は

添字(インデックス:index)

と呼ばれています。

尚、C言語の配列の添字は0から始まるので、

最後の添字は「要素数−1」になります。

間違える人が多いので、注意してください。

 

配列要素に値を代入する

配列に値を記憶させるには、添字を使い要素を指定し、

値を代入します。

代入は変数と同じで、代入演算子を使います。

 

配列要素の値を出力する

実際に配列を使ったコードを書いてみます。

各要素の添字は0から始まるので、繰り返し処理などを使うことで

単純なコードを記述することができます。

以下のコードを入力してみてください。

sample43.c

f:id:YuyaTerayama:20180907213005p:plain

ーsample43の実行画面ー

1番目の人の点数は99点です。

2番目の人の点数は70点です。

3番目の人の点数は35点です。

4番目の人の点数は77点です。

5番目の人の点数は13点です。

sample43では、

まず配列の各要素に値を代入しています。

その後で、

for文を使い、各要素の値を出力します。

配列の添字は0から始まっているので、

「i + 1番目の人」と指定しています。

このように配列では、

各要素を指定するときの添字に変数を使う

ということができるようになっています。

各要素の箱に入っている点数はint型の整数なので、

int型の変数と扱いは同じです。

なので、値を出力する際には変換仕様として%dを使って

出力すれば良いのです。

 

次回では、

キーボードから入力して配列に値を格納する方法から

学んでいきます。

 

〜END〜