C言語のconstの使い方を徹底解説!初心者でもわかる定数定義と注意ポイント
生徒
「C言語で値が変わらない数字や文字を使いたいときはどうすればいいですか?」
先生
「そんなときには、constというキーワードを使います。」
生徒
「変数とは違うんですか?」
先生
「変数は値を変えられますが、constを付けると書き換えられない定数として扱われます。」
生徒
「なるほど。実際に使い方を知りたいです!」
1. constとは何か
C言語のconstは、値が変わらないデータを扱うためのキーワードです。変数を作るときにconstを付けると、その変数は後から変更できなくなります。例えば、商品の税率や身長など変更しない数値があるときに使えます。プログラムの中で誤って値を書き換えてしまうミスを防ぐことができるため、安全なプログラムを書くうえでとても大切です。
プログラムの保守性や信頼性を高めるために多くの現場で使われている基本的な仕組みなので、初心者のうちから覚えておくことで読みやすく理解しやすいコードを書く力が身につきます。
2. constを使った基本的な定数定義
具体的な定義の書き方はとても簡単です。データ型の前にconstを付けるだけで定数として扱われます。数字でも文字でも文字列でも使えます。
#include <stdio.h>
int main(void)
{
const int tax = 10;
printf("税率は%d%%です。\n", tax);
return 0;
}
税率は10%です。
このように書くことで、taxという値は変更できなくなります。間違えて変更しようとするとコンパイルエラーになります。つまり、書き換えミスを事前に防げるという仕組みです。
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を使うメリットを理解しよう
constを使うメリットは非常に多くあります。ひとつは、値が変わらないことを明確にできる点です。プログラムを読む人が見たときに、この値は途中で変わらないとすぐに理解できます。また、打ち間違いや変更忘れを防げるため、バグの原因を減らせます。大規模なプログラムや複数人で作業する場合にもとても役立ちます。
さらに、処理の速度を最適化できる場合もあります。コンパイラが値が変わらないと判断できるため、効率よく動作させられることがあります。このような背景から、定数を使うことは「読みやすい」「安全」「高速」という三つの良いポイントにつながります。
5. constとポインタを一緒に使うときの注意
初心者が迷いやすいポイントとして、ポインタと一緒に使う場合があります。ポインタとは、データの場所を扱う機能ですが、constと組み合わせると意味が変わる場合があります。
例えば、ポインタ先の値を変更できない場合や、ポインタ自体を変更できない場合などがありますが、ここではむずかしい説明には踏み込まず、まずは「constが付くと値が変えられない」という基本をしっかり押さえておけば大丈夫です。
実務や応用の場面では活用されることがありますが、基本構文の学習段階では、無理に覚えなくて問題ありません。定数を宣言して安全に使うという考えが理解できれば十分です。
6. constを使った文字列と文字の定数
constは数字だけでなく、文字や文字列でも使えます。例えば、メッセージを画面に表示するときに、変更される予定のない文章を定数で管理できます。
#include <stdio.h>
int main(void)
{
const char message[] = "ようこそ C言語の世界へ";
printf("%s\n", message);
return 0;
}
ようこそ C言語の世界へ
文章全体を定数にすることで、安心して表示処理ができます。もし誤って書き換えるコードを書いた場合もコンパイル時に防いでくれます。
7. constを使うときの覚えておきたいポイント
C言語のプログラムを書くときには、次の三つを意識しておくとよいです。
ひとつ目は、同じ値を何度も書くより定数名前を付けたほうが読みやすくなるということです。二つ目は、書き換えを防げるため安全性が上がることです。三つ目は、将来の修正が簡単になるということです。ひとつの場所を変えるだけで済むからです。
C言語を初めて学ぶ人でも、この基本を守っておけば理解しやすいコードを書く力が身についていきます。