忍者ブログ
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
ブログ内検索
バーコード
アーカイブ

Copyright © [ C言語のマクロ ] All rights reserved.
Special Template : 忍者ブログ de テンプレート
Special Thanks : 忍者ブログ
Commercial message : [PR]