#マクロ引数名で,引数に渡された変数名・定数名などがそのまま文字列になる.
例えば,
#define ANPAN 1ここで,
#define SHOKUPAN 2
#define I_LOVE(pan) printf("i love " #pan)
I_LOVE(ANPAN);とかくと,
printf("i love " "ANPAN"); // prints "i love ANPAN"に展開されます. ログ出力は定数やenumの値よりもその名前を出したかったりするから,そんな時に便利.
# "i love 1" と表示されても困る.