月ノ書

【C言語】配列の基本と使いどころ|初心者が最初に覚えるデータ管理方法

今回の記事でわかること
  • 配列が何のために存在するのかが分かる
  • 配列の基本的な書き方と考え方が理解できる
  • for 文と組み合わせた実用的な使い方が分かる
  • 配列で起きやすい事故ポイントが分かる

配列とは

プログラムでいう「配列(array)」とは、同じ型のデータをまとめて扱うための仕組み のことです

例えば
テストの点数を 30 人分管理したい場合、変数を 30 個用意するのは大変ですが、配列を使えば一気にまとめて扱えます

int scores[30];    // int型を30個まとめて管理

配列は「同じ種類のデータを並べて持つ箱」というイメージを持つと分かりやすいです

配列の基本的な書き方

配列は次の形で宣言します

型名 配列名[要素数]

実際の例を見てみます

#include <stdio.h>

int main(void) {
    int scores[5] = {70, 80, 90, 60, 85};

    printf("1人目の点数: %d\n", scores[0]);
    printf("2人目の点数: %d\n", scores[1]);
    printf("3人目の点数: %d\n", scores[2]);

    return 0;
}
出力結果
1人目の点数: 70
2人目の点数: 80
3人目の点数: 90

インデックスは 0 から始まる

配列の要素番号(インデックス)は 必ず 0 から始まる ので注意が必要です

この 0 始まりは、C言語だけでなく多くの言語で共通の考え方です

配列と繰り返しを組み合わせる

配列の本領は for 文と組み合わせたとき に発揮されます

#include <stdio.h>

int main(void) {
    int scores[5] = {70, 80, 90, 60, 85};
    int sum = 0;

    for (int i = 0; i < 5; i++) {
        sum += scores[i];
    }

    printf("平均点: %d\n", sum / 5);
    return 0;
}

出力結果

平均点: 77

このように

という流れは、実務でも非常によく使われます

配列の初期化いろいろ

配列は宣言と同時にさまざまな形で初期化できます

int nums[5] = {1, 2, 3, 4, 5};   // すべて指定
int zeros[5] = {0};             // 全要素が0
int autoSize[] = {10, 20, 30};  // 要素数は自動で3

特に {0} の書き方は、初期化漏れを防ぐためによく使われます

文字列も実は配列

C言語の文字列は char 型の配列 でできています

char str[] = "Hello";
printf("%s\n", str);
出力結果
Hello

配列を扱う上での注意点

範囲外アクセスは即バグ

scores[5] = 100;

このように、要素数を超えてアクセスすると 未定義動作 になります

など。かなり危険なバグの原因になります

要素数は定数で管理すると安全

#define STUDENTS 5
int scores[STUDENTS];

こうしておくと

というメリットがあります

C言語の配列はサイズが変えられない

C言語の配列は一度サイズを決めたら変更できません

この制約があるからこそ、後に学ぶポインタや動的確保が重要になります

配列が便利な場面

C言語では配列はほぼすべての処理の土台になります

この記事のまと

配列は同じ型のデータをまとめて扱うための基本機能 です

配列を理解できるようになると次に学ぶ

がスムーズにつながっていきます

学習進捗

0
Would love your thoughts, please comment.x