C言語入門:__LINE__

Cには、ソースコード中の行番号を数値としてプログラムに埋め込める __LINE__ という組み込みマクロが用意されています。 __LINE__ は、プログラムのデバッグに欠かせない存在です。

__LINE__を利用したサンプル

以下のサンプルは__LINE__を使った例です。 プリプロセッサが__LINE__部分を自動的に行番号に変換してからコンパイルされます。


#include <stdio.h>

int
main()
{
  printf("line: %dn", __LINE__);

  printf("line: %dn", __LINE__);

  printf("line: %dn", __LINE__);

  return 0;
}

このプログラムを実行すると、以下のような結果が表示されます。


> ./a.out
line: 6
line: 8
line: 10

このように、__LINE__が自動的に行番号へと変換されています。

プログラムを書く時には、__LINE__をデバッグ用のメッセージに入れておくと便利です。 予期しないエラーが発生したときに「どこら辺のプログラムを実行しているときのエラーメッセージだろうか?」というのを把握しやすくなります。

__LINE__の他に良く使う組み込みマクロとして__FILE__というものもあります。


次:__FILE__

- C言語入門 記事一覧

おまけ