C语言的宏定义是属于预编译的处理,并不属于c语言本身,巧妙的宏定义,可以使我们的代码更加精简,可读性更强。下面我对##连接符和#符的使用加以说明
关于#和##
在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下面代码中的宏:
#define WARN_IF(EXP) do(EXP)
C语言的宏定义是属于预编译的处理,并不属于c语言本身,巧妙的宏定义,可以使我们的代码更加精简,可读性更强。下面我对##连接符和#符的使用加以说明
在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下面代码中的宏:
#define WARN_IF(EXP) do(EXP)