単純マクロ定義 |
単純マクロ定義によって,一連の記号列に名前(マクロ名)を与えることができます(Fig. 0.33)。
プリプロセッサは,定義されたマクロ名を見つけると,それを元の記号列に置き換えます(“マクロ展開”と言う)。
例えば,円周率πを
#define PI (3.14159265)
と定義すれば,プログラムの中で円周率を使いたいところで“PI”と書けば,それが定数“(3.14159265)”に展開されます。
このようにマクロ定義で定義された定数をマクロ定数などと呼びます。
マクロ名はマクロ名であること明示するために伝統的に大文字によって定義するようになっています。C言語にはいくつか
定義済みのマクロ定数があります。例えば,__LINE__や__FILE__はそれぞれ,ソースプログラム中での行番号とファイル名
にマクロ展開されます。
なお,このようにアンダーバー2つで始まるマクロ名は定義済みのマクロ定数やコンパイラが内部で使用するマクロ名として
使えることになっているので,プログラマはそのようなマクロ名を定義してはいけません。
なお,マクロ定義するときは記号列部分を省略して名前だけを定義することができます。