概念
- #运算符用于在预处理期将宏参数转换为字符串
- 在预处理期完成,因此只在宏定义中有效
- 编译器不知道#的转换作用
用法
#define STRING(x) #x
printf("%s\n",STRING(Hello World!));
- ##运算符用于在预处理期粘连两个标识符
- 在预处理期完成,因此只在宏定义中有效
- 编译器不知道##的连接作用
用法
#define CONNECT(a,b) a##b
int CONNECT(a,1);//int a1;
a1 = 2;
概念
用法
#define STRING(x) #x
printf("%s\n",STRING(Hello World!));
用法
#define CONNECT(a,b) a##b
int CONNECT(a,1);//int a1;
a1 = 2;