研修用C言語メモ

昨日とほぼ同じだが焼き直し

  • C言語コンパイラにとっての翻訳単位(←この言い方どうにかならないか?)は宣言か、関数定義である。
  • 逆に言うと関数定義の外に文を書くことはできない。
  • プリプロセッサ命令はC言語の文法とは別物で独立している。行頭が#で始まりその行末までがプリプロセッサ命令である。複数行にわたる場合は\で続ける。
  • 従ってC言語の文法は大きく分け宣言と文の2つで理解できる。さらに付け加えて以下の4つのカテゴリで理解可能
    1. 宣言
    2. 関数定義
    3. プリプロセッサ命令

C言語は文中で使用する形式に宣言をあわせるというわけわかなことをしているので初学者の混乱を助長していると思われる。宣言と文をしっかり区別することで理解が早まると思われる。