C语言高级语法请教??

[复制链接]
 楼主| haunghua 发表于 2019-11-22 10:39 | 显示全部楼层 |阅读模式
#define TIMER_BEGIN static WORD  timeLeft[TIMER_NUMBER] = {
#define ON_TIMER(a, b, c) 0,
#define TIMER_END };


请问这是什么意思?什么语法
maowentao0416 发表于 2019-11-22 11:38 | 显示全部楼层
这是宏定义,编译器遇到 TIMER_BEGIN   ON_TIMER   TIMER_END   会去解析成对应的值。
TIMER_BEGIN对应 static WORD  timeLeft[TIMER_NUMBER] = {
ON_TIMER对应0,
TIMER_END 对应};
 楼主| haunghua 发表于 2019-11-22 12:27 | 显示全部楼层
maowentao0416 发表于 2019-11-22 11:38
这是宏定义,编译器遇到 TIMER_BEGIN   ON_TIMER   TIMER_END   会去解析成对应的值。
TIMER_BEGIN对应 sta ...

也就是  TIMER_BEGIN 等价于“timeLeft[TIMER_NUMBER]”
            ON_TIMER(a, b, c) 等价于“0”
            TIMER_END 等价于“};”

是这么个意思吗?
kingkits 发表于 2019-11-22 13:12 | 显示全部楼层
这个叫伪指令,只是用来方便阅读和修改的,你可以在代码中直接用#define后面的内容替换掉前面的内容
maowentao0416 发表于 2019-11-22 15:31 | 显示全部楼层
在C语言中叫做宏定义,不叫伪指令
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

77

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部