【C言語】配列とは【超わかりやすく解説】

本記事はC言語の配列を学生エンジニアが初心者の方へ向けて優しく解説しています。C言語は非常に多くのエンジニアが利用する、手を付けやすい言語です。C言語での配列を一緒に学習しましょう!

配列

下のコードを見てください。

int sintyou1;
int sintyou2;
int sintyou3;
int sintyou4;
int sintyou5;

sintyou1 = 173;
sintyou2 = 164;
sintyou3 = 174;
sintyou4 = 182;
sintyou5 = 159;

このようにたくさん変数の宣言を行うと、コードが冗長で読みにくくなります。

C言語では、
これを解決するために配列といわれる仕組みが用意されています。
配列は、同じ型のたくさんの変数をまとめて1行で宣言できてしまいます。

今までの変数の宣言では、
コンピュータに記憶される箱が用意さえれ、箱に値が格納されます。
配列では、
その箱を複数用意することができる仕組みです。

配列の宣言

型名 配列名[要素数];
【例】
int sintyou[5];

配列名は配列の中にある箱の名前のことをいい、
要素数とは箱の数のことを言います。

つまり、
要素数は宣言したい値の数を入力するといいでしょう。
配列名は何でも構いません。
では、実際に値を代入してみましょう。

配列の値の代入【方法1】

C言語の配列の値の代入方法は大きく分けて2つあります。

【例】
int sintyou[5];
sintyou[0] = 173;
sintyou[1] = 164;
sintyou[2] = 174;
sintyou[3] = 182;
sintyou[4] = 159;

上のコードでは「sintyou」という配列名に5つの要素数があることを宣言しています。
次の5行で、5つの要素に値を格納しています。

つまりC言語では、下のように配列の値を格納します。

配列名[添字]=値;

C言語の配列では、
要素数が5なら、5つ分の値を記憶するための箱が用意され、
それぞれの箱に、0,1,2,3,4の名前(添字)がつきます。

ここで注意したいのは、
0スタートの要素数分の箱が用意されるので、
5つの要素数なら、0〜4までの5つ分、
10の要素数なら、0〜9までの10この要素数のように、
箱の最後の名前が、「要素数−1」になることに注意しましょう。

配列の値の代入【方法2】

【例】
int sintyou[5] = {173,164,174,182,159};

先程の例では、配列の値の格納に5行を費やしました。
上のように、5行を1行にまとめることも可能です。

{ }を用いて、要素数分の値を配列にまとめて代入することができるのです。
キレイで見やすいコードを書くためによく使用されます。

配列の出力

配列を出力するのは、今までと変わりません。
下のコードのように、添字を用いて出力することができます。

#include <stdio.h>
int main(void){
    int sintyou[5];
    
    sintyou[0] = 173;
    sintyou[1] = 164;
    sintyou[2] = 174;
    sintyou[3] = 182;
    sintyou[4] = 159;
    
    printf("2の人の身長は%dです。\n",sintyou[2]);
    
    return 0;
}
【実行結果】
2の人の身長は174です。

サンプルコード

#include <stdio.h>
int main(void){
    int sintyou[5] = {173,164,174,182,159};
    int i;
    
    for(i=0;i<5;i++){
        printf("%d人目の身長は%d。\n",i+1,sintyou[i]);
    }
    
    return 0;
}
【実行結果】
1人目の身長は173。
2人目の身長は164。
3人目の身長は174。
4人目の身長は182。
5人目の身長は159。

for文なども用いているので少し複雑ですが、1行づつゆっくりと確認してください。

以上でC言語、配列の解説を終わります。
最後まで読んでいただき、ありがとうございました\(^o^)/

C言語の超オススメ本

この1冊でC言語のほとんどが完結する、間違いのない本ですよ\(^o^)/
つまづいたときに逆引きするC言語の辞書代わりにもなります!

PCを操作する上で、トラックボールマウスも非常におすすめです!
僕も感動したこのマウスを、騙されたと思って使ってみてください!(^^)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です