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

C言語のconstの使い方を徹底解説!初心者でもわかる定数定義と注意ポイント

C言語の定数定義(const)の使い方と注意点
C言語の定数定義(const)の使い方と注意点

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

生徒

「C言語で値が変わらない数字や文字を使いたいときはどうすればいいですか?」

先生

「そんなときには、constというキーワードを使います。」

生徒

「変数とは違うんですか?」

先生

「変数は値を変えられますが、constを付けると書き換えられない定数として扱われます。」

生徒

「なるほど。実際に使い方を知りたいです!」

1. constとは何か

1. constとは何か
1. constとは何か

C言語のconstは、値が変わらないデータを扱うためのキーワードです。変数を作るときにconstを付けると、その変数は後から変更できなくなります。例えば、商品の税率や身長など変更しない数値があるときに使えます。プログラムの中で誤って値を書き換えてしまうミスを防ぐことができるため、安全なプログラムを書くうえでとても大切です。

プログラムの保守性や信頼性を高めるために多くの現場で使われている基本的な仕組みなので、初心者のうちから覚えておくことで読みやすく理解しやすいコードを書く力が身につきます。

2. constを使った基本的な定数定義

2. constを使った基本的な定数定義
2. constを使った基本的な定数定義

具体的な定義の書き方はとても簡単です。データ型の前にconstを付けるだけで定数として扱われます。数字でも文字でも文字列でも使えます。


#include <stdio.h>
int main(void)
{
    const int tax = 10;
    printf("税率は%d%%です。\n", tax);
    return 0;
}

税率は10%です。

このように書くことで、taxという値は変更できなくなります。間違えて変更しようとするとコンパイルエラーになります。つまり、書き換えミスを事前に防げるという仕組みです。

3. constを使うと書き換えエラーになる例

3. constを使うと書き換えエラーになる例
3. constを使うと書き換えエラーになる例

もし、定義した定数を変更しようとした場合、エラーが出てプログラムは動きません。これは安全なプログラムを書くための仕組みです。


#include <stdio.h>
int main(void)
{
    const int age = 20;
    age = 30; // ここでエラー
    printf("%d\n", age);
    return 0;
}

error: assignment of read-only variable 'age'

エラーと聞くと難しそうですが、これは間違いを見つけて教えてくれる便利な機能です。C言語では、こういった安全機能が多く用意されています。

4. constを使うメリットを理解しよう

4. constを使うメリットを理解しよう
4. constを使うメリットを理解しよう

constを使うメリットは非常に多くあります。ひとつは、値が変わらないことを明確にできる点です。プログラムを読む人が見たときに、この値は途中で変わらないとすぐに理解できます。また、打ち間違いや変更忘れを防げるため、バグの原因を減らせます。大規模なプログラムや複数人で作業する場合にもとても役立ちます。

さらに、処理の速度を最適化できる場合もあります。コンパイラが値が変わらないと判断できるため、効率よく動作させられることがあります。このような背景から、定数を使うことは「読みやすい」「安全」「高速」という三つの良いポイントにつながります。

5. constとポインタを一緒に使うときの注意

5. constとポインタを一緒に使うときの注意
5. constとポインタを一緒に使うときの注意

初心者が迷いやすいポイントとして、ポインタと一緒に使う場合があります。ポインタとは、データの場所を扱う機能ですが、constと組み合わせると意味が変わる場合があります。

例えば、ポインタ先の値を変更できない場合や、ポインタ自体を変更できない場合などがありますが、ここではむずかしい説明には踏み込まず、まずは「constが付くと値が変えられない」という基本をしっかり押さえておけば大丈夫です。

実務や応用の場面では活用されることがありますが、基本構文の学習段階では、無理に覚えなくて問題ありません。定数を宣言して安全に使うという考えが理解できれば十分です。

6. constを使った文字列と文字の定数

6. constを使った文字列と文字の定数
6. constを使った文字列と文字の定数

constは数字だけでなく、文字や文字列でも使えます。例えば、メッセージを画面に表示するときに、変更される予定のない文章を定数で管理できます。


#include <stdio.h>
int main(void)
{
    const char message[] = "ようこそ C言語の世界へ";
    printf("%s\n", message);
    return 0;
}

ようこそ C言語の世界へ

文章全体を定数にすることで、安心して表示処理ができます。もし誤って書き換えるコードを書いた場合もコンパイル時に防いでくれます。

7. constを使うときの覚えておきたいポイント

7. constを使うときの覚えておきたいポイント
7. constを使うときの覚えておきたいポイント

C言語のプログラムを書くときには、次の三つを意識しておくとよいです。

ひとつ目は、同じ値を何度も書くより定数名前を付けたほうが読みやすくなるということです。二つ目は、書き換えを防げるため安全性が上がることです。三つ目は、将来の修正が簡単になるということです。ひとつの場所を変えるだけで済むからです。

C言語を初めて学ぶ人でも、この基本を守っておけば理解しやすいコードを書く力が身についていきます。

関連記事:
カテゴリの一覧へ
新着記事
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)の使い方を完全ガイド!初心者でもわかる基本操作