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先頭にアンダースコアは禁止慣習