上記に示すコード例では、#defineディレクティブの基本的な文法スタイルと実際の処理手順を簡潔に示しています。ソースコードをコンパイラでビルドして実行することにより、#defineディレクティブが規定通りの挙動を示し、期待通りのデータ処理が行われることを直接確認することができます。
もう少し詳しく
単純マクロは指定した識別子をソースコード全体で機械的に置換します。関数型マクロは引数を取ることができ高速動作しますが、通常の関数と異なり単なるテキスト置換であるため、引数やマクロ全体を括弧()で適切に囲まないと演算子の優先順位事故によるバグを引き起こすリスクがあります。