C言語のマクロ定義の規則は何ですか
C言語のマクロ定義の使い方は次のとおりです。
- マクロのフォーマットは #define マクロ名 置換テキスト です。
- 宏名は有効なC識別子でなければならず、C言語のキーワードであってはならない。
- 置換テキストは任意の合法的なC文であり、定数、式、関数コールなどを含むことができます。
- マクロ定義では、セミコロンを終了記号として必要としない。
- マクロ定義は、パラメータ付きのマクロを定義できます。パラメータのリストは、マクロ名の後の括弧内に配置されます。
- マクロ定義中のパラメータは、マクロの置換テキストで置換でき、パラメータは置換テキスト中でパラメータ名として出現する。
- マクロ定義で定義されたマクロ名称がソースコード中で使用されると、プリプロセッサがコンパイル前にマクロ置換を行います。
- マクロ定義のスコープはマクロ定義後、ファイルの終わりまで、または#undefディレクティブがマクロ定義の解除まで
- マクロ定義はネストでき、マクロの置換テキストに他のマクロ名を含めることができます。
- 定義済みのマクロは#undefディレクティブを使って取り消すことができます。構文は次のとおりです。#undef マクロ名。マクロ定義をキャンセルした後、マクロ名は機能しなくなります。
- マクロ定義はタイプのチェックやスコープの制限がなく単純なテキスト置換であるため、使用には注意が必要です。