読み込み中...

初心者でも理解できる!C言語での配列操作5ステップ

C言語のコードと初心者が理解しやすい配列操作の説明図 C言語
この記事は約5分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

プログラミング初心者にとって、C言語の配列操作は少々複雑に思えるかもしれません。

しかし、一歩一歩基本から進めていくことで、配列操作の全体像を理解することができます。

本記事では、初心者でも理解できる5つのステップで、C言語の配列操作を詳しく解説します。

●C言語の配列とは

○配列の基本

C言語における配列とは、同じ型の変数を一定の数だけ連続して確保したデータ構造のことを指します。

これにより、例えば10人分の学生のテストの点数など、同じ種類のデータを一つの名前で管理することができます。

○配列の宣言と初期化

C言語で配列を使用するには、まず配列を宣言する必要があります。配列の宣言は次のように行います。

「int scores[10];」このコードでは、整数型の要素を10個格納できる配列’scores’を宣言しています。

また、配列を初期化する場合は次のように行います。

「int scores[10] = {90, 85, 80, 75, 70, 65, 60, 55, 50, 45};」このコードでは、配列’scores’を宣言と同時に、10個の整数値で初期化しています。

●配列の操作法

○要素へのアクセス

配列の要素にアクセスするには、インデックス(番号)を使用します。インデックスは0から始まります。

例えば、「printf(“%d”, scores[0]);」とすると、配列’scores’の最初の要素を出力します。

○配列を使ったサンプルコード1:合計値を求める

下記のコードは、配列’scores’の全要素の合計値を求めるものです。

このコードでは、「for」ループを使って配列の全要素にアクセスし、その値を変数’sum’に加えています。

int scores[10] = {90, 85, 80, 75, 70, 65, 60, 55, 50, 45};
int sum = 0;
for (int i = 0; i < 10; i++) {
    sum += scores[i];
}
printf("合計値: %d\n", sum);

このコードを実行すると、合計値450が出力されます。

○配列を使ったサンプルコード2:配列の各要素を表示

配列の要素を表示する方法について説明します。

下記のコードは、配列’scores’の全要素を表示するものです。

int scores[10] = {90, 85, 80, 75, 70, 65, 60, 55, 50, 45};
for (int i = 0; i < 10; i++) {
    printf("scores[%d]: %d\n", i, scores[i]);
}

このコードを実行すると、配列のインデックスとその要素の値が順に出力されます。

●配列操作の応用例

○二次元配列とは

二次元配列は、配列の要素それぞれがさらに配列になっているデータ構造です。

例えば、学生たちの各科目のテストの点数を管理する際などに使用します。

○二次元配列を使ったサンプルコード3:行列の加算

下記のコードは、二次元配列を用いて二つの行列を加算する例です。

int matrix1[2][2] = {{1, 2}, {3, 4}};
int matrix2[2][2] = {{5, 6}, {7, 8}};
int result[2][2];

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
        result[i][j] = matrix1[i][j] + matrix2[i][j];
    }
}

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
        printf("%d ", result[i][j]);
    }
    printf("\n");
}

このコードを実行すると、行列の加算結果が出力されます。

●配列操作の注意点と対処法

○範囲外アクセスの問題と対策

配列操作においては、範囲外アクセスに注意する必要があります。

つまり、配列の要素数よりも大きなインデックスでアクセスしようとすると、エラーが発生します。

これを防ぐためには、配列の要素数を超えないようにループを制御することが重要です。

●配列のカスタマイズ方法

○配列の大きさを動的に決定する

配列の大きさをプログラムの実行時に決定する方法について解説します。

このためには、メモリの動的確保を行う関数’malloc’を使用します。

○動的配列を使ったサンプルコード4:ユーザーの入力に応じた配列の作成

下記のコードでは、ユーザーが入力した数値に応じて配列を生成し、その配列の各要素に値を設定しています。

int size;
printf("配列の大きさを入力してください: ");
scanf("%d", &size);

int* scores = (int*)malloc(sizeof(int) * size);
for (int i = 0; i < size; i++) {
    printf("scores[%d]の値を入力してください: ", i);
    scanf("%d", &scores[i]);
}

for (int i = 0; i < size; i++) {
    printf("scores[%d]: %d\n", i, scores[i]);
}

free(scores);

このコードを実行すると、ユーザーが入力した大きさの配列が生成され、各要素に値が設定されて出力されます。

まとめ

C言語における配列操作は、初心者にとっては難しいかもしれませんが、本記事で解説した5つのステップを順に進めることで理解できるはずです。

配列の基本から操作方法、注意点、カスタマイズ方法まで、しっかりと学んで、自身のプログラミングスキルを高めていきましょう。