C(#和##操作符)

概念

  • #运算符用于在预处理期将宏参数转换为字符串
  • 在预处理期完成,因此只在宏定义中有效
  • 编译器不知道#的转换作用

用法

#define STRING(x)  #x
printf("%s\n",STRING(Hello World!));
  • ##运算符用于在预处理期粘连两个标识符
  • 在预处理期完成,因此只在宏定义中有效
  • 编译器不知道##的连接作用

用法

#define CONNECT(a,b)  a##b
int CONNECT(a,1);//int a1;
a1 = 2;

猜你喜欢

转载自blog.csdn.net/qq_34121068/article/details/80091848
今日推荐