プログラミング言語 C の新機能 Part I: CPP#0:コメントはご面倒?
(1999/03/15 [月])
今までのプログラミング言語 C でのコメントの表記法は、/* */ という表記を用いていました。次の例では、青色の部分が示している部分、つまり /* で始まり */ で終わる部分がコメントとして扱われました。
一度コメントが始まれば、改行してもコメントは続きます。コメントを終わりにするためには、*/ を記述する必要があります。ここで一つ気をつけなければならないことがあります。それは、コメントのネストはできないということです。例の最後の行を見るとわかるように、最後の 「は不正*/」 がコメントからはみ出してしまい不正になっています。
このように、従来型のコメントは /* */ なので / を二回 * を二回も打鍵する必要があり、おまけに * はシフトキーを併用しないと入力できないというありさまで、コメントの入力は大変面倒なことでした。(ぉぃぉぃ)
この事態を重く見た(?)委員会は新しいコメントの表記法を導入することを決意しました。その表記法こそ // です。//を使って書き直した例を次に示します。
見ればわかると思いますが、//型のコメントは、//から始まり、行末までです。従って、例の最後の表記法のようなこともできます。この表記法ならば、/ を二回軽くたたくだけなのでコメントの入力が簡単になります。したがって、プログラマも気楽にわかりやすいコメントを入力できるようになるでしょう!!!...?なお、一応言っておきますが従来型のコメントも引き続き利用可能です。
さて、最後におまけですが、この // という表記法は、プログラミング言語 C++ でのコメントの表記法でもあります。さらに言えば、プログラミング言語 C の祖先となる言語の、プログラミング言語 B でのコメントの表記法でもあります。つまり、コメント表記は先祖帰りをしたというところでしょうか。
*例の中の return 0; の部分の記述には、stdlib.h を取り込んで、return EXIT_SUCCESS; と記述する方法もある(7.20.4.3: exit function)。どちらの表記にしても、正常終了をあらわしている。
/* * 引数一覧表示プログラム (c)1999 seclan * ver1.00 1999/03/15 最初のバージョン */ #include <stdio.h> int main(int argc, char *argv[]) { int i; for(i = 0; i < argc; i++){ printf("%d: %s\n", i, /* 添え字。今何番目を 表示しているか */ argv[i] /* 引数の中身 */ ); } return 0; /* 常に正常終了 */ } /* /* ここはコメント領域 */ /* /* ここの最後の */ は不正 */ |
一度コメントが始まれば、改行してもコメントは続きます。コメントを終わりにするためには、*/ を記述する必要があります。ここで一つ気をつけなければならないことがあります。それは、コメントのネストはできないということです。例の最後の行を見るとわかるように、最後の 「は不正*/」 がコメントからはみ出してしまい不正になっています。
このように、従来型のコメントは /* */ なので / を二回 * を二回も打鍵する必要があり、おまけに * はシフトキーを併用しないと入力できないというありさまで、コメントの入力は大変面倒なことでした。(ぉぃぉぃ)
この事態を重く見た(?)委員会は新しいコメントの表記法を導入することを決意しました。その表記法こそ // です。//を使って書き直した例を次に示します。
// // 引数一覧表示プログラム (c)1999 seclan // ver1.00 1999/03/15 最初のバージョン // #include <stdio.h> int main(int argc, char *argv[]) { int i; for(i = 0; i < argc; i++){ printf("%d: %s\n", i, // 添え字。今何番目を //表示しているか argv[i] // 引数の中身 ); } return 0; // 常に正常終了 } // ここはコメント領域 // /* ここの最後の */ もコメント */ |
見ればわかると思いますが、//型のコメントは、//から始まり、行末までです。従って、例の最後の表記法のようなこともできます。この表記法ならば、/ を二回軽くたたくだけなのでコメントの入力が簡単になります。したがって、プログラマも気楽にわかりやすいコメントを入力できるようになるでしょう!!!...?なお、一応言っておきますが従来型のコメントも引き続き利用可能です。
さて、最後におまけですが、この // という表記法は、プログラミング言語 C++ でのコメントの表記法でもあります。さらに言えば、プログラミング言語 C の祖先となる言語の、プログラミング言語 B でのコメントの表記法でもあります。つまり、コメント表記は先祖帰りをしたというところでしょうか。
*例の中の return 0; の部分の記述には、stdlib.h を取り込んで、return EXIT_SUCCESS; と記述する方法もある(7.20.4.3: exit function)。どちらの表記にしても、正常終了をあらわしている。
by seclan