C言語学習log:配列

やさしいC 第3版 』Lesson7は「配列」です。

配列とは

まず「配列」って何?というところからなのですが、変数は特定の1つの値を記憶する機能をもっていますが、それに対して「同じ型の値を複数まとめて記憶する」機能を持つのが配列です。

配列は

型名 配列名[要素数];

というかたちで宣言されます。配列は複数のハコを用意するとイメージすればよいようですが、この要素数でハコの数を指定しています。なお、配列の要素数は決まった数である必要があり、変数を指定することはできません。

例えば、「int test[3];」と配列を宣言すると、各配列要素は

test[0]
test[1]
test[2]

となります。[ ]内に指定する番号は添字と呼ばれています。C言語の配列の添字は0から始まるので、最後の添字は「要素数-1」となります。

配列要素への値の代入は、

配列名[添字] = 式;

とし、各要素を指定するときの添字には変数を使うことができます。

配列の初期化

「配列の宣言」と「値の代入」は下記のようにまとめて行うことができます。

型名 配列名[要素数]={値0, 値1, ・・・};

{ }内に指定する値は、初期化子と呼ばれています。

多次元配列

配列は2次元以上に並んだイメージである多次元配列として指定することができ、多次元配列の宣言(2次元の場合)は下記のようになります。

型名 配列名[要素数][要素数];

文字列と配列

文字列を配列で扱う場合は、char型の配列として扱います。文字列の最後には必ず'\0'(NULL文字)という値をつけなければならず、そのため文字列配列の要素数は「文字列の長さ+1」以上必要となります。

配列と言われてもさっぱりでしたが、ハコが並んでいるイメージをもって読んでいくとなんとなくわかってきたような気がします。