
【6日でできるC言語入門】エラーへの対処
C言語プログラミングでは、必ず「エラー」や「バグ」といった問題に遭遇します。
これらを的確に見つけ、正しく修正する力は、プログラマーとしてとても大切です。
ここでは、エラーの種類や発生原因、C言語のコンパイラが出すエラーメッセージの読み方、典型的な修正方法について、サンプルプログラムとともに解説します。

1.エラーの発生と修正
1.1. エラーが発生する例とエラーメッセージ
プログラムに文法ミスやタイプミスがある場合、C言語のコンパイラはエラーメッセージを表示して、どこに問題があるかを教えてくれます。
サンプルプログラム(わざと間違いを含む)
プロジェクト/ファイル名: Lesson13_1/main.c
#include <stdio.h>
int main(void) {
printf("こんにちは");
prinf("世界\n");
return 0;
}実行時のエラーメッセージ例(Visual Studioの場合)
コード 説明
LNK2019 未解決の外部シンボル _print が関数 _main で参照されました。
LNK1120 1 件の未解決の外部参照解説
prinfという誤った関数名を書いてしまったため、printfでなければなりません。
1.2. エラーの修正例
上記のプログラムを正しく修正しましょう。
修正版サンプル
#include <stdio.h>
int main(void) {
printf("こんにちは");
printf("世界\n");
return 0;
}実行結果
こんにちは世界※改行がないため、2つの文字列が連続して表示されています。
2.エラーとバグの違い・バグの例
2.1. エラーとバグ
| 用語 | 説明 | 例 |
|---|---|---|
| エラー | プログラムの文法的な誤り | pritnf など、関数名のミスなど |
| バグ | プログラムの論理的な誤りや設計ミス | 計算式の間違い、想定外の動作になる場合 |
- エラー
→ コンパイラが気付いて指摘してくれる誤り(コンパイルできない)。 - バグ
→ プログラムは動くが、期待通りに動かない問題(論理ミスなど)。
2.2. バグの例
プロジェクト/ファイル名: Lesson13_2/main.c
#include <stdio.h>
int main(void) {
int a = 10;
int b = 0;
int c = a / b; // 0で割るミス(実行時エラーや意図しない動作)
printf("c=%d\n", c);
return 0;
}ポイント
- バグは「実行できてしまう」場合もあるため、自分で動作確認(テスト)が大切です。
3.デバッグの基本
3.1. デバッグとは?
「デバッグ(Debug)」とは、プログラムのエラーやバグを見つけて修正する作業のことです。
Visual StudioなどのIDEでは、ブレークポイントを設定して実行途中で停止し、変数の値や処理の流れを細かく確認できます。
3.2. エラー対処・デバッグのコツ
- エラーメッセージは英語でもしっかり読む(翻訳サイトも活用)。
- 行番号・関数名・内容を確認する。
- タイプミスやスペルミスが多いので、冷静に見直す。
- 論理バグの場合はprintfで途中の値を表示してみる。
まとめ
- エラーはコンパイラが教えてくれる文法ミス、バグは動作上の間違い。
- エラーメッセージを読んで、間違いの箇所と内容を理解し、修正することが大切。
- バグは動作検証・デバッグで早めに発見・修正しよう。
- 初心者は、こまめにコンパイル・実行し、エラーの種類や意味に慣れるのがコツです。
