jianhong_wu 发表于 2015-8-21 21:28:28

C语言中双井号##有什么鲜为人知的作用?已解答。

祥瑞-武汉:
这是完整的一句宏定义:   
#define V_PORT_ENABLE_CLK(V_PTO)    SIM_SCGC5 |=SIM_SCGC5_PORT##V_PTO##_MASK
其中##是有什么作用?

★坚鸿-深圳:
用##可以把两个宏参数贴合在一起.起到字符链接拼凑在一起的作用。
上述例子,假如代入参数1,则把SIM_SCGC5_PORT,1,_MASK 三者拼凑成一个字符串SIM_SCGC5_PORT1_MASK。因此,V_PORT_ENABLE_CLK(1) 相当于 SIM_SCGC5 |=SIM_SCGC5_PORT1_MASK


页: [1]
查看完整版本: C语言中双井号##有什么鲜为人知的作用?已解答。