#define中的#,\,##,#@符号,以及#define的基本应用

来源:互联网 发布:apple好玩的软件 编辑:程序博客网 时间:2024/05/22 05:16

在C语言的#define中,\符号是用来换行的,在#define很长的时候,就可以拿来使用。

#符号表示把后面的参数转换成字符串,相当于给参数加了双引号

##符号则表示连接前后两个参数,把它们连城一个字符串

#@符号则表示给参数加上单引号

例如:

#define INT_CHAR(x) #x /*INT_CHAR(1) => "1"*/#define INT_CHAR(x, y) x##y /*INT_CHAR(1, "abc") => "1abc"*/#define INT_CHAR(x) #@x /*INT_CHAR(1) => '1'*/

除了用第二个参数替换第一个参数之外,#define还可以配合#ifdef #ifndef #else #endif等等这些来构成一个条件编译:主要是为了防止头文件被重复编译

还有一种情况是作为程序的标识:

#define VAR...//程序的某个地方VAR int count(...);

这个VAR仅仅作为标识,在编译时会被自动清除掉

0 0
原创粉丝点击