カテゴリ: C言語 更新日: 2026/01/28

C言語で配列サイズを定数で定義する方法を詳しく解説!初心者向けガイド

C言語で配列サイズを定数で定義する方法
C言語で配列サイズを定数で定義する方法

先生と生徒の会話形式で理解しよう

生徒

「C言語で配列を作るとき、毎回大きさを数字で書いているんですが、もっと簡単に書く方法はありますか?」

先生

「配列サイズを定数で管理すると、とても便利になりますし、あとで変更もしやすくなるんですよ。」

生徒

「定数ってなんですか?数字をそのまま書くのとは違うんですか?」

先生

「定数は、後から値を書き換えできない特別な変数のようなものです。C言語の開発ではよく使うので、ここでしっかり覚えておきましょう。」

1. 配列とサイズ指定の基本

1. 配列とサイズ指定の基本
1. 配列とサイズ指定の基本

C言語でプログラムを書くとき、複数のデータをまとめて扱いたい場面があります。例えばテストの点数、商品の在庫数、ゲームのスコアなど、数字や文字をたくさん扱いたい場合に使うのが配列です。配列は一定の個数をまとめて保存できます。そのときに必要になるのが配列サイズです。配列サイズとは、配列に入るデータの個数のことです。

しかし、プログラムの途中で配列サイズを変更したくなったとき、すべての数字を書き換えると大変です。そこで役に立つのが定数マクロを使う方法です。

2. 配列サイズを定数で定義するメリット

2. 配列サイズを定数で定義するメリット
2. 配列サイズを定数で定義するメリット

配列サイズを定数で定義するとたくさんの良いことがあります。配列の大きさがひとつの場所で管理されるので、あとで見直しが簡単になります。また、ソースコードが読みやすくなり、他の人が見ても意味が理解しやすくなります。数字が直接書かれていると「この10は何の個数?」と分かりにくくなってしまいますが、定数を使うと意味のある名前をつけられます。

3. constを使った定数による配列サイズ指定

3. constを使った定数による配列サイズ指定
3. constを使った定数による配列サイズ指定

C言語では、constを使うことで変更できない変数を作ることができます。これを使うと配列サイズを定数のように扱うことができます。名前をつけておけば何の数なのかひと目で分かります。数字を直接書かず、意味のある単語を使うことでプログラムの正確さも上がります。


#include <stdio.h>

int main()
{
    const int SIZE = 5;
    int scores[SIZE] = {10, 20, 30, 40, 50};

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

この例では、配列サイズをSIZEという名前にしています。この書き方なら、あとで配列の大きさを変えたいときもSIZEだけ変えればよいのでとても便利です。初心者でも意味を理解しやすく、プログラム全体の読みやすさも上がります。

4. マクロ定数を使った配列サイズ指定

4. マクロ定数を使った配列サイズ指定
4. マクロ定数を使った配列サイズ指定

C言語にはマクロという機能もあり、プログラムを実行する前の段階で置き換えをしてくれます。マクロ定数は#defineという書き方で値に名前をつけます。配列の大きさを決めるときにもよく使われる方法です。


#include <stdio.h>

#define MAX 10

int main()
{
    int data[MAX];

    for(int i = 0; i < MAX; i++)
    {
        data[i] = i * 2;
    }

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

    return 0;
}

#define MAX 10と書くことで、配列サイズを意味のある名前で表現できます。数字だけを見ても意味は分かりませんが、名前があると目的が明確になります。大きなプログラムになるほど、このような書き方が重要になります。

5. constとマクロはどちらを使うべき?

5. constとマクロはどちらを使うべき?
5. constとマクロはどちらを使うべき?

配列サイズを定義するとき、constとマクロのどちらを使ったほうがよいのか迷う場合があります。constは型の情報を持ち、変数と同じように扱うことができます。マクロはコンパイル前に置き換えられるため、どんな場所でも使えるという特徴があります。小さなプログラムではどちらでも問題ありませんが、型の安全性を重視するのであればconstを使う方が読みやすくて安全です。

現代のC言語ではconstを使った書き方がおすすめです。理由は型が明確になるため、間違いを減らせるからです。マクロは柔軟ですが、大きなプロジェクトでは思わぬ部分に影響を与えることもあるため、使い方に注意が必要です。

6. 配列サイズを定数で管理すると何が変わる?

6. 配列サイズを定数で管理すると何が変わる?
6. 配列サイズを定数で管理すると何が変わる?

配列の大きさを直接数字で書かず、定数で管理すると、後から変更したときのミスを減らせます。たとえば学校の名簿を10人から20人に増やしたい場合、定数を使っていなければプログラムの中の数字を探して書き換える必要があります。しかし定数を使えば値をひとつ変えるだけで済みます。プログラミング未経験の人でも、この便利さはすぐに理解できます。

7. 初心者がやりやすい練習方法

7. 初心者がやりやすい練習方法
7. 初心者がやりやすい練習方法

はじめての人は、小さな数字を定数化するところから始めましょう。配列の大きさ、ループの回数、得点の数、文字の個数など、いろいろな場面で使えます。とくに配列は使う場面が多いので、必ず役に立ちます。数字に名前をつけることで、意味がはっきりするので読みやすさが上がり、プログラムの理解も進みます。

関連記事:
カテゴリの一覧へ
新着記事
New1
C++
C++のメンバアクセス演算子を完全解説!初心者でもわかる . → :: の使い方まとめ
New2
Rust
Rustの文字列を極める!&str(文字列スライス)の基本概念とString型との違い
New3
C++
C++のキャスト演算子を完全解説!dynamic_cast・static_cast・const_cast・reinterpret_castを初心者向けに説明
New4
C++
C++開発のIDE選びを完全ガイド!初心者でもわかるCLion・Eclipse CDT・Qt Creator比較
人気記事
No.1
Java&Spring記事人気No1
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.2
Java&Spring記事人気No2
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.3
Java&Spring記事人気No3
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.4
Java&Spring記事人気No4
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.5
Java&Spring記事人気No5
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.6
Java&Spring記事人気No6
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.7
Java&Spring記事人気No7
C++
C++リンカとコンパイラのオプション設定を完全ガイド!初心者にもわかる開発環境の基礎
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作