この記事の監修・執筆者
TAKUYA FUJIMOTO(ITエンジニア/運営者)
IT業界歴30年以上。
業務系システム開発・基幹システム・組み込み系など幅広い現場経験をもとに、 初心者のつまずきポイントを押さえてC言語をわかりやすく解説します。
C言語を学び始めたとき、最初に覚えるべき超重要テーマが「変数」です。
変数が理解できると「計算する」「値を保存する」「条件分岐する」「繰り返す」といった基本操作が一気につながります。
逆に、変数の理解があいまいなままだと、エラーや意図しない動作が増えて学習が停滞しがちです。
この記事では、プログラミング完全初心者でも理解できるように、 「変数とは何か」から「型の選び方」「初期化」「スコープ」「よくあるミス」まで、実例コードつきで体系的に解説します。
1. 変数とは?まずは“箱”のイメージでOK

変数とは、プログラムの中でデータを一時的に保存するための名前付きの箱です。
箱には「数値」や「文字」などを入れられます。
C言語では、箱に入れられるデータの種類をデータ型で指定します。
たとえば「年齢」を扱うなら整数が自然なので int、「身長」なら小数が必要なので double、 「1文字」なら char といった具合です。
2. 変数の宣言|C言語は“使う前に宣言”が基本
C言語では、変数を使う前に必ず宣言(せんげん)します。
宣言は「型 + 変数名」で書きます。
#include <stdio.h>
int main(void) {
int age; /* 整数の変数 */
double height; /* 小数の変数 */
char grade; /* 文字の変数 */
return 0;
}
宣言をすると、プログラム実行時にその型に応じたメモリ領域が確保されます。
ここがC言語らしいポイントで、後々ポインタや配列を理解するときの土台になります。
3. 初期化と代入|“最初に値を入れる”クセが最強
変数宣言と同時に最初の値を入れることを初期化といいます。
初心者のうちは、可能な限り「宣言=初期化」するクセを付けるとバグが激減します。
int age = 25;
double weight = 60.5;
char initial = 'J';
初期化をしない場合、変数には不定値(たまたま残っていた値)が入る可能性があります。
「何も入れていないのに動いた/動かなかった」という現象の原因になりやすいので注意してください。
4. 変数名のルール|禁止事項だけ押さえればOK
- 使えるのは「英字・数字・_(アンダースコア)」
- 数字で始めてはいけない(例:
1stはNG) - 予約語は使えない(例:
int,if,forなど) - 大文字小文字は区別される(
Countとcountは別)
命名は読みやすさに直結します。totalScore や user_age など、「何が入っているか一目で分かる名前」を意識すると、後から自分が助かります。
5. データ型の基本|まずは4種類で十分
初心者のうちは、まず次の4つを押さえれば十分です。
| 型 | 用途 | 例 |
|---|---|---|
char | 1文字 | 'A', 'x' |
int | 整数 | 10, -3 |
float | 小数(単精度) | 3.14f |
double | 小数(倍精度) | 3.14 |
ポイントは、float の小数リテラルには f を付けること(3.14f)。
付けないと double 扱いになって、警告や意図しない変換の原因になることがあります。
4つの基本データ型をすべて使った例
以下は、char、int、float、double の4つをすべて使ったサンプルコードです。
#include <stdio.h>
int main(void) {
char grade = 'A'; /* 文字型 */
int score = 85; /* 整数型 */
float height = 170.5f; /* 単精度小数(fを忘れない) */
double average = 88.75; /* 倍精度小数 */
printf("成績: %c\n", grade);
printf("点数: %d\n", score);
printf("身長: %.1f cm\n", height);
printf("平均: %.2f\n", average);
return 0;
}
ポイント:
・float には f を付ける
・%c は文字、%d は整数、%f は小数
・表示桁数は %.2f のように調整できる(小数点以下第2位までを表示)

6. 変数を使った超基本例|合計と平均
変数の価値は「計算結果を保持できる」ことにあります。
定番の合計と平均を見てみましょう。
#include <stdio.h>
int main(void) {
int x = 10;
int y = 20;
int sum = x + y;
double avg = (double)sum / 2; /* キャストで小数にする */
printf("合計: %d\n", sum);
printf("平均: %.2f\n", avg);
return 0;
}
(double)sum のように型を変換することをキャストといいます。
整数同士の割り算は整数になるため、平均を小数で出したい場合はキャストが有効です。

7. スコープと寿命|“どこで使えるか”が超重要
変数には「どこで使えるか(スコープ)」と「いつまで存在するか(寿命)」があります。
まずは次の2つを覚えればOKです。
ローカル変数(基本)
関数の中や { } の中で宣言した変数は、基本的にその範囲だけで使えます。
範囲を抜けると消えます。
if (1) {
int a = 10; /* ここでだけ有効 */
}
/* ここでは a は使えない */
グローバル変数(使いどころ注意)
関数の外で宣言した変数は、ファイル内のどこからでも使えます。
便利ですが、変更箇所が追いにくくなりバグの原因になりやすいので、初心者のうちは多用しないのがおすすめです。
8. よくあるミス集|ここを押さえると一気に安定する
- 初期化忘れ:不定値で動作が不安定になる
- 型の選択ミス:小数なのに
intを使って丸めてしまう - スコープの勘違い:ブロック外の変数が使えずエラーになる
- printfの書式指定子ミス:
%dと%fを混同する
特に printf は書式指定子が合っていないと表示が崩れたり、環境によっては不具合の原因になります。
まずは「int は %d」「double は %f」を確実に覚えましょう。
まとめ|変数を制する者がC言語を制する

C言語の変数は「型」「初期化」「スコープ」という3点を押さえるだけで、理解が大きく前進します。
変数が分かると、配列・ポインタ・関数といった次の学習もスムーズになります。
次は「配列」→「ポインタ」の順で学ぶと理解がつながりやすいので、シリーズ化して学習するのがおすすめです。
次に読むおすすめ
- (内部リンク)C言語入門:配列の基礎と使い方
- (内部リンク)C言語入門:ポインタを図解で理解する
- (内部リンク)UNIXで学ぶC言語:コンパイルと実行の基本
よくある質問(FAQ)

- Q変数とは何ですか?
- A
データを一時的に保存する「名前付きの箱」です。
C言語では型を指定して宣言します。
- Q変数は初期化しないとダメですか?
- A
必須ではありませんが推奨です。
初期化しないと不定値になり、バグの原因になりやすくなります。
- Qint と double はどう使い分けますか?
- A
整数は int、小数を扱うなら double を使います。
平均など小数が必要な計算では double が便利です。
- Qローカル変数とグローバル変数の違いは?
- A
ローカルは宣言したブロック内だけで有効、グローバルは広い範囲で使えますが管理が難しいため多用は注意です。
- Qprintf の %d と %f の違いは?
- A
%d は int(整数)、%f は double/float(小数)を表示するための書式指定子です。

コメント