コメントは /* と */ で囲む。
また、ANSI 標準ではないけど一行コメント // も使えるコンパイラも多いようだ。gcc で使えるか試してみよう。
#include int main(void) { printf("alpha\n"); /* printf("bravo\n"); */ printf("charlie\n"); // printf("delta\n"); printf("echo\n"); }
実行結果:
takatoh@nightschool $ ./sample_1_6 alpha charlie echo
お、/* */ だけじゃなくて一行コメントも使えてるな。
現在では「標準の C」と言うと ANSI-C ではなく ISO/IEC 9899:1999 のことを指すことが一般的で、俗称で C99 とも呼ばれています。 JIS の C の規格の最新版である JISX3010:2003 も C99 をほぼそのまま日本語に訳したものとなっています。
そして C99 には一行コメントが正式に含まれています。
gcc の場合はデフォルトでは C99 に対して独自の拡張をいくらか付け足した gnu99 というモードで解釈しているはずなので、 gcc を利用する前提で規格を参照するならば ANSI-C よりも C99 を見た方がよろしいかと思います。
ちなみにより新しい規格として ISO/IEC 9899:2011 があり、 C11 と呼ばれています。 これについてはまだ一般的と言えるほどには使われていない様子です。
アドバイスありがとうございます。なるほど、標準は C99 ですか。
まあ、ちょっと古い本で勉強しているので、そのへんは折を見て情報をアップデートしていきたいと思います。