C言語入門|配列の準備:宣言と添え字の基本

はじめに:配列は「使う前の準備」がとても大事

前回、配列は
「同じ種類のデータを、順番付きでまとめて扱える便利な仕組み」
だということを学びました。

ただし、配列は
いきなり使える魔法の箱 ではありません。

きちんと

  • 何個分のデータを扱うのか
  • どんな型のデータなのか

を決めてから準備する必要があります。

このページでは、
配列の宣言方法添え字の基本ルール を、
しっかり整理していきましょう。

配列を使う前に決めること

配列を使う前に、まず考えるのはこの2つです。

決めること内容
データの型int、double など
要素の数何個分必要か

たとえば、

  • 1週間分の気温 → 7個
  • 10人分の出席番号 → 10個
  • 12か月分の売上 → 12個

というように、必要な数を先に決める のがポイントです。

配列宣言の書き方

配列を準備するための基本構文はこちらです。

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

例:10個の整数データを扱う配列

int values[10];

この1行で、

  • int型のデータを
  • 10個分
  • 連続した領域として

まとめて確保したことになります。

配列宣言で何が起きているのか

この宣言を、イメージとして整理してみましょう。

添え字01239
中に入る値未定未定未定未定未定
  • 要素の数は 10 個
  • 使える添え字は 0 〜 9
  • まだ値は入っていない状態

ここで大切なのは、
宣言しただけでは値は入らない という点です。

配列の要素にアクセスする方法

配列を使うときは、
どの位置の要素を使うのか を指定します。

そのときの書き方がこちらです。

配列名[添え字]

例:配列の2番目の要素に値を代入

values[1] = 42;

この1行は、

  • values という配列の
  • 添え字 1 の位置に
  • 42 を代入する

という意味になります。

添え字は0から始まるという重要ルール

配列で必ず覚えておきたいのが、このルールです。

配列の最初の要素の添え字は 0

です。

つまり、

添え字意味
01番目の要素
12番目の要素
23番目の要素

となります。

たとえば、

values[1] = 42;

は、
「2番目の要素に 42 を入れる」
という意味になります。

サンプルプログラム

ここでは、内容を変更したサンプルプログラムを見てみましょう。

サンプル:配列の要素に値を代入して表示する

プロジェクト名:7-2-1 ソースファイル名: sample7-2-1.c

#include <stdio.h>

int main(void)
{
    int temperatures[5];

    temperatures[2] = 25;

    printf("今日の気温は %d 度です\n", temperatures[2]);

    return 0;
}

実行結果

今日の気温は 25 度です

配列要素への代入

temperatures[2] = 25;

指定した添え字の位置に、
値を代入するための書き方です。

宣言時の [] と 利用時の [] は別物

ここで、少し混乱しやすいポイントを整理しておきましょう。

場面[] の意味
配列宣言要素の個数を指定
配列利用何番目の要素かを指定

たとえば、

int values[10];

この 10 は
確保する要素の数 を表しています。

一方で、

values[9]

の 9 は
最後の要素の位置 を表します。

なぜ最大の添え字は 9 なのか

要素数が 10 の配列の場合、

  • 添え字は 0 から始まる。
  • 0〜9 の 10 個が存在する。

という関係になります。

要素数使える添え字
100 〜 9

宣言では 10 と書くのに、
使うときは 9 までという点は、
最初は少し戸惑いやすいですが、

宣言と利用の [] は役割が違う

と理解するとスッと整理できます。

まとめ:配列は「準備」と「番号付け」がカギ

配列を使うときのポイントは次の3つです。

  • 事前に必要な要素数を決める。
  • 宣言時の [] は要素数を表す。
  • 利用時の [] は添え字を表す。

この基本をしっかり押さえておけば、
配列はとても頼もしい道具になります。

次は、
配列と for 文を組み合わせた処理や、
すべての要素を一気に扱う方法へ進んでいきましょう。