# 操作符
当在宏定义中使用 #
运算符时,宏的参数会被转换成字符串字面量。
- #操作符用于在预处理期将宏参数转换为字符串
- #的转换作用是在预处理期完成的,因此只在宏定义中生效
- 编译器不知道 # 的转换作用(# 是预处理器所使用的一个特殊的运算符,编译器是不认识 # 运算符的)
用法
1 |
|
使用 gcc -E demo.c -o demo.i 生成中间代码:
此处我们可以发现宏已经不在了,已经被我们的预处理器替换掉了
## 操作符
- ##运算符用于在预处理期粘连两个标识符
- ##的连接作用是在预处理期完成的,因此只有在宏定义中有效
- 编译器不知道 ## 的连接作用
用法
1 |
|