私の講師が書いた C ファイルはすべて、最初の行が 1 つの # で始まるのはなぜですか? 質問する

私の講師が書いた C ファイルはすべて、最初の行が 1 つの # で始まるのはなぜですか? 質問する

私は C コースのノートをいくつか読んでいますが、すべての#C プログラムのソース ファイルは、プログラムの最初の行に1 つの で始まっています。

次に空白行があり、その後に他の内容が続き、関数が続きますmain

の理由は何ですか#?

(今は学期が終わっているので、その人に質問することができません。)

次に例を示します。

#

#include <stdio.h>
int main() {
   printf("Hello, World!");
   return 0;
}

ベストアンサー1

なんと、この要件は1970 年代にまで遡ります。

標準化前の C 言語のごく初期の頃は、プリプロセッサを呼び出すには、#ソース ファイルの最初の行の最初に を記述する必要がありました。ファイルの先頭にのみ#を記述すると、他のプリプロセッサ ディレクティブの配置に柔軟性が生まれます。

から偉大なデニス・リッチー自身によるオリジナルのC草稿:

12. コンパイラ制御行

[...] プリプロセッサを呼び出すには、プログラムの最初の行が # で始まっている必要があります。プリプロセッサはヌル行を無視するため、この行には他の情報を含める必要はありません。

その文書は素晴らしい読み物です (そして、私はこの質問に狂った猫のように飛びつくことができました)。

それは単に講師が感傷的になっているだけだと思います。ANSI C 以降、確かに必要とされていません。

おすすめ記事