出处:
这几天在学习C语言,又看到一个宏的奇怪用法,于是上网找了一下,发现了csdn有个帖子整理了,觉得非常好,于是转载过来
原文是:
WindsonZhL(风之子) 2003-08-20 15:15:39
①简单宏替换
#defind Pi 3.14159
或
#ifndef __THIS_FILE__
#define __THIS_FILE__ // 用于防止重复包含文件
…… ……
#endif
___________________________
②条件宏替换
#define p(x) printf(x)
…… ……
p("hello!");
→ hello!
___________________________
③字符宏替换(#@)
#define pchar(x) printf("%c\n", #@x)
…… ……
pchar(a);
→ a
___________________________
④字串宏替换(#)
#define pstring(x) printf("%s\n", #x)
…… ……
pstring(hello!);
→ hello!
___________________________
⑤连接宏替换(##)
#define p( n ) printf( "symbol" #n " = %d", symbol##n )
…… ……
int symbol9 = 9;
p( 9 );
→ symbol9=9
阅读(2660) | 评论(0) | 转发(1) |