[解決済み] 講師が書いたC言語のファイルは、なぜ最初の行に#が一つ付いているのですか?
2022-03-23 02:56:49
質問
C言語講座のノートを見ているのですが
あらゆる
Cプログラムのソースファイルは、1つの
#
をプログラムの最初の行に書く。
その後、空白行があり、その後に他のものが続き、その後に
main
関数を使用します。
の理由は何ですか?
#
?
(今は学期外なので、チャップにはとても聞けません)
以下はその一例です。
#
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
解決方法は?
うわー、この要件は 過去 1970年代まで
での
超初期
標準化されていないC言語の時代、もしあなたが
プリプロセッサー
を書く必要がありました。
#
をソースファイルの1行目の最初に書く。書き方
のみ
a
#
をファイルの先頭に置くことで、他のプリプロセッサーディレクティブの配置を柔軟に変更することができます。
から 偉大なるデニス・リッチー自身によるC言語のオリジナル原稿 :
<ブロッククオート12. コンパイラの制御線
[中略)プリプロセッサを起動させるためには、一番最初に プログラムの最初の行は#で始まります。NULL行はプリプロセッサによって無視されるので、この行は他の行を含む必要はない。 という情報があります。
その文書は素晴らしい読み物です(そして、私は狂った猫のようにこの質問に飛びつくことができました)。
講師が単に感傷的になっているだけなのでは。ANSI C以来、確かに要求されていない。
関連
-
C 言語のポインタ配列のポインタ型、ポインタに値を割り当てるために配列名を使用、コンパイル時の警告:互換性のないポインタ型からの初期化
-
警告:符号付き整数式と符号なし整数式の比較 [-Wsign-compare]
-
[解決済み] C 言語で const char* を char* に変換するには?
-
[解決済み] c または c++ 用のシンプルな 2 次元クロスプラットフォームグラフィックスライブラリ?[クローズド]
-
[解決済み] ソケットアクセプト - "開かれているファイルが多すぎる"
-
[解決済み] C言語で関数型プログラミングを行うためのツールにはどのようなものがありますか?
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] C言語における「static」の意味とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
error: '.' トークンの前にunqualified-idを指定する必要があります。
-
ポインタ定数および定数ポインタ
-
未定義の `__isoc99_sscanf' への参照
-
[解決済み] MIPSのネストされたForループと配列の使用
-
[解決済み] C言語で関数をパラメータとして渡すにはどうすればよいですか?
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] char s[]とchar *sの違いは何ですか?
-
[解決済み] C言語のi++と++iに性能差はあるのでしょうか?
-
[解決済み] フリーは、どのように無料化を知っているのですか?
-
[解決済み] C/C++プリプロセッサで、パウンド/ハッシュ記号(#)を1行で記述する目的は何ですか?