
C言語入門|for 文のループ変数:基本ルールと3つの重要ポイント
for 文を書いていると、
必ず登場するのが ループ変数 です。
「この i って、普通の変数と同じでいいんですか?」
「for 文が終わったあとも使えますか?」
そんな疑問、よく出てきますよね 😊
結論から言うと、
ループ変数は普通の変数とほぼ同じだけど、いくつか大事なルールがある
という位置づけになります。
ここでは、for 文のループ変数について
必ず押さえておきたい3つのポイント を、
具体例と一緒にやさしく整理していきましょう ✨

ループ変数って何をしている変数?
for 文では、次のような書き方をよく見かけます。
for (int i = 0; i < 3; i++) {
処理
}この i が ループ変数 です。
ループ変数は、
- 今、何回目の繰り返しか
- どこまで処理が進んでいるか
を管理するための変数で、
for 文の繰り返しをコントロールする司令塔 のような役割を持っています 👍
ポイント1:ループ変数の名前は自由 😊
ループ変数の名前は、
好きな名前を付けてOK です。
for (int count = 0; count < 3; count++) {
printf("カウント中です\n");
}このように、
count や index、step などを使っても問題ありません。
とはいえ、実際の現場や教材では、
for (int i = 0; i < 3; i++)のように、
1文字の変数名 がよく使われます。
これは、
- integer(整数)
- index(添字)
の頭文字として使われてきた慣習があるからです。
短くて読みやすく、
「これはループ用の変数だな」と一目で分かるのもメリットですね 😊
ポイント2:ループ変数はブロック内で自由に使える
ループ変数も、れっきとした変数です。
そのため、for 文のブロック内では
計算にも表示にも使えます。
サンプルプログラム
プロジェクト名:5-7-1 ソースファイル名: sample5-7-1.c
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 3; i++) {
printf("%d回目のチャレンジです!\n", i + 1);
}
return 0;
}実行結果
1回目のチャレンジです!
2回目のチャレンジです!
3回目のチャレンジです!この例では、
- i は 0 から始まる
- そのままだと 0回目になってしまう
という理由から、
表示時に i + 1 を使っています。
💡 このように、ループ変数を加工して使うのはとても一般的 です。
ポイント3:ループ変数は for 文の外では使えない ⚠️
ここが、初心者がつまずきやすいポイントです。
for 文の初期化処理で宣言したループ変数は、
for 文のブロック内でのみ有効 です。
for (int i = 0; i < 3; i++) {
printf("処理中\n");
}
printf("%d\n", i); // ここでは使えないこのコードは、
コンパイルエラーになります。
なぜなら、
i は for 文のブロックを抜けた瞬間に 消滅する変数 だからです。
これは、以前学んだ if 文や while 文の
ブロック内変数のスコープ と同じ考え方ですね 😊
- for 文の中:ループ変数は存在する。
- for 文の外:ループ変数は存在しない。
「for 文という箱の中だけで生きている変数」
とイメージすると、かなり分かりやすくなります 👍
どうしてこのルールがあるの?
理由はシンプルです。
- 使い終わった変数を外に持ち出さない。
- 意図しない再利用を防ぐ
ためです。
ループ変数は
繰り返し処理専用の一時的な変数 として扱われるので、
for 文の外では使えないほうが安全なんですね 😊
まとめ:ループ変数の3つの重要ポイント
| ポイント | 内容 |
|---|---|
| ① 名前 | 自由に決められる(i が定番) |
| ② 利用範囲 | for 文のブロック内では自由に使える。 |
| ③ スコープ | for 文を抜けると使えなくなる。 |
この3つを理解しておけば、
for 文を書くときに迷うことがグッと減ります ✨
