C言語のマクロの注意点について C言語のマクロはとても便利ですが、落とし穴も多くあります。このページではマクロの注意点について説明します。 マクロ置換は、単純な文字列の置き換えです。このことを忘れていると、予想外の結果を生むことになります。 マクロの置換後の字句は、カッコで囲むほうがよいでしょう。プログラム中で使用された際に、置換後の字句の中に、前後にある演算子よりも優先度の低い演算子があった場合、予想と違う結果を生むことになるからです。 下記のプログラムでは、プログラムを書いた人の意図とは違う計算結果となります。これは「PRICE * num」が「COST + 10 * num」とマクロ展開され、COSTに10 * numの計算結果が足されるためです。 /** * @file MacroAttention1_1.c * @brief マクロの注意点.その1-1 */ #include <