●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

初心者が知っておきたい「エラーと警告」の基本(コンパイルエラー・実行時エラーなど)

C言語でプログラムを作ると、必ず出会うのがエラーや警告です。
「文法が間違っている」「条件が成り立たない」「メモリに問題がある」など原因は様々です。
ここでは、初心者がまず覚えておきたい主なエラーの種類と対処法をやさしく解説します。

1. コンパイルエラー(構文エラー)

コンパイル(gccなど)時に発生するエラーです。
文法ミス・スペルミス・定義漏れなどが原因になります。

// 例:セミコロン忘れ
int main() {
    printf("Hello, world!")  // ← セミコロン(;)がない!
    return 0;
}
    
  • error: expected ‘;’ before ‘return’ のようなメッセージ
  • 指摘された行の前後をよく確認しましょう

2. リンクエラー(未定義エラー)

複数ファイルやライブラリを使うとき、関数の定義が見つからないときに出るエラーです。

// main.c
int main() {
    greet();  // 定義がない!
}
    
  • undefined reference to 'greet' というエラーが出る
  • 関数が定義されたファイルのリンク忘れや、宣言ミスが原因

3. 実行時エラー

コンパイルは通っても、実行中にクラッシュや不正な動作が起きるエラーです。

// 例:ゼロ除算
int a = 10;
int b = 0;
int c = a / b;  // 実行時にクラッシュ
    
  • ゼロ除算、NULLポインタ参照、配列の範囲外アクセスなどが原因
  • 条件分岐で防げるかを考えてコードを書きましょう

4. 警告(warning)

コンパイルは通るけれど、将来的に問題を起こしそうな書き方をしたときに出る通知です。

// 例:戻り値が使われていない
int getValue() {
    return 42;
}

int main() {
    getValue();  // 戻り値を使っていない
}
    
  • warning: ignoring return value of ‘getValue’ などが表示される
  • 警告も放置せず、修正する癖をつけると実力アップ!

5. gccで警告を表示させるには?

gcc -Wall program.c -o program
    

-Wall オプションをつけることで、すべての警告を表示できます。
初心者の方には必須オプションです。

まとめ

C言語での開発では、エラーは学習のチャンス!
よくあるエラーを知っておけば、原因の特定や修正もスムーズになります。
特にコンパイルエラーと実行時エラーの違いを意識しながら、一つずつ丁寧に対処していきましょう!

 

C言語関連用語集

−−−−−  C言語  −−−−−

C言語のスタート地点「main関数」とは?初心者向けにやさしく解説

画面に文字を表示する「printf関数」とは?初心者向けにやさしく解説!

ユーザーから値を受け取る「scanf関数」とは?初心者向けにやさしく解説!

データを入れて使いまわす「変数(variable)」とは?C言語の基本をやさしく解説

データの種類を決める「データ型」とは?C言語の基本をやさしく解説!

計算や比較に使う「演算子」とは?C言語の基本を初心者向けにやさしく解説!

条件に応じて動きを変える「if / else」とは?C言語の基本をやさしく解説!

同じ処理を何度も行う「繰り返し処理(for / while / do-while)」をやさしく解説!

処理をまとめて再利用!「関数(function)」とは?C言語の基本をやさしく解説

関数の「答え」を返す!C言語の基本「戻り値(return)」をやさしく解説

アドレスを扱う魔法の道具「ポインタ(pointer)」とは?C言語の基本をやさしく解説

関数に値を渡す2つの方法「値渡し」と「参照渡し」って何?C言語の基本をやさしく解説!

データをまとめて扱う「配列(array)」とは?C言語の基本をやさしく解説!

複数の文字をまとめて扱う「文字列(string)」とは?C言語の基本をやさしく解説!

異なるデータをまとめて管理!C言語の「構造体(struct)」をやさしく解説

1つのメモリを共有する「共用体(union)」とは?C言語の特徴的な機能をやさしく解説!

状態や選択肢を名前で管理!C言語の「列挙型(enum)」をやさしく解説

ポインタでメモリを自在に操る!C言語の「ポインタ演算」をやさしく解説

実は似ている!?C言語の「ポインタと配列の関係」をやさしく解説!

必要な分だけメモリを使う「動的メモリ確保(malloc / free)」とは?C言語の基本をやさしく解説!

C言語でよく使う「標準ライブラリ(stdio.h, stdlib.h, string.h)」をやさしく解説!

C言語でファイルを読み書き!「ファイル操作(fopen, fclose, fprintf など)」をやさしく解説

コードの中でよく使う「マクロ(#define)」とは?C言語の基本をやさしく解説!

C言語の裏側で活躍する「プリプロセッサ(#include, #ifdef など)」とは?

プログラムを実行できる形に変換!「コンパイル(gccなど)」とは?C言語の基本をやさしく解説

複数の部品をひとつにまとめる!「リンカ(linker)」とは?C言語の基本をやさしく解説

初心者が知っておきたい「エラーと警告」の基本(コンパイルエラー・実行時エラーなど)

ポインタの初期化と安全確認に!「NULLポインタ」とは?C言語の基本をやさしく解説

プログラムのメモリの仕組み「スタック / ヒープ」とは?C言語の基本をやさしく解説!

数値をビット単位で操作する!「ビット演算(&、|、^、~、<<、>>)」をやさしく解説