C语言进阶--#和##运算符
##运算符用于在预处理器粘连两个标识符
##的连接作用实在预处理期完成的,因此只在宏定义中有效
编译器不知道##的连接作用
用法:
#define BB(a, b) a##b
int BB(a, 1); //int a1;
a1 = 2;
#运算符用于预处理期将宏参数转换为字符串
#的转换作用是在预处理期完成的,因此只在宏定义中有效
编译器不知道#的转换作用
用法
#define AA(x) #x
printf("%s\n", AA(hello world!));