C言語のマクロについてです。C言語のマクロには落とし穴が多いので、マクロをマスターして引っかからないようにしましょう。そしてC言語の達人になってください。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
関数マクロでは、#演算子というものが使えます。
#演算子はマクロの引数を文字列に変換するものです。
関数マクロの置換字句列の中で使用されている
引数の前に#がついていると
対応する実引数を文字列として
引数と置き換えます。
例えば、
#define DEBUG_PRINT(a) (printf("%s:%d\n", #a, a))
という関数マクロがあり、
x = 100;
DEBUG_PRINT(x);
という風に使用された場合、次のように展開されます。
printf("%s:%d\n", "x", x);
結果として、標準出力に、
x:100
が出力されます。
PR
ブログ内検索
最新記事
(03/31)
(03/31)
(03/30)
(03/30)
(03/30)
最古記事
(03/23)
(03/24)
(03/25)
(03/26)
(03/27)