
C言語入門|C言語の変数名ルールを学ぼう:わかりやすく正しい名前の付け方
プログラミングを始めると、必ず出てくるのが 変数の名前付け。
「どんな名前でもいいんでしょ?」と思いがちですが……実はそうでもないんです😳
C言語では、変数名にはしっかりとしたルールがあり、それを守ることで
読みやすさ・正確さ・トラブル防止 に大きく貢献します✨
今日は、そんな“変数名の正しい付け方”を、やわらかく・わかりやすく・丁寧に解説していきます🌸

🌼 まず知っておこう:識別子とは?
C言語では、変数の名前、関数の名前など、プログラム内で何かを識別するための文字列を 識別子(identifier) と呼びます。
識別子には次のような文字が使えます👇
- アルファベット(a〜z、A〜Z)
- 数字(0〜9)
- アンダースコア(_)
ただし、数字で始めることはできません。
🔤 変数名ルールを整理
| ルール | 解説 |
|---|---|
| ① 予約語は使えない。 | int、return、void など、C言語が内部で使用している語は変数名にできない。 |
| ② _(アンダースコア)1つで始めない。 | 言語仕様やシステム向けに予約されているため使用しない。 |
| ③ 同じ名前を再利用しない。 | すでに宣言した変数とは別ものとして扱えないためエラーになる。 |
| ④ 大文字/小文字、全角/半角は区別される。 | name と Name は別物。A(全角A)とA(半角)はまったく違う。 |
| ⑤ わかりやすく、小文字で始める。 | score や price のように意味が伝わる名前が望ましい。 |
表としてまとめると、ルール全体のイメージがつかみやすくなります🌟
📦 サンプルプログラムで変数名の良い例・悪い例を見てみよう
プロジェクト名:2-2-1 ソースファイル名: sample2-2-1.c
#include <stdio.h>
int main(void)
{
int playerLevel; // 良い名前:意味が明確!
int Level; // 別物として扱われる(大文字小文字は区別)
int _value; // 推奨されない:先頭のアンダースコアは避けるべき
// int int; // エラー!予約語は使えない
playerLevel = 12;
printf("プレイヤーのレベルは %d です\n", playerLevel);
return 0;
}📝 命令(printf など)の解説も詳しく!
printf の書式
printf("文字列", 値);- 画面に文字を表示する命令
- 値を差し込むときはフォーマット指定子(%d など)を使う。
- \n は改行
例
printf("プレイヤーのレベルは %d\n", playerLevel);画面には
プレイヤーのレベルは 12と表示されます✨
📌 予約語を使えない理由を図で解説!
C言語の内部テーブルのイメージ

※ プログラムが正しく働くために言語が確保している単語!
だからプログラマが勝手に使うと、言語が混乱してしまうんです😅
💡 良い変数名の付け方(実践アドバイス)
| 良い例 | 理由 |
|---|---|
| playerLevel | 何の値かわかりやすい。 |
| maxScore | 最大得点だとすぐ理解できる。 |
| priceYen | 単位も含めて明瞭 |
| count | 何かを数える用途とわかる。 |
逆に、次のような名前は避けましょう👇
| 悪い例 | 問題点 |
|---|---|
| a, b, c | 意味がわからない |
| data | 抽象的すぎて用途不明 |
| temp | 用途が不明確になりやすい。 |
| _value | 先頭にアンダースコアは禁止慣習 |
