独闷闷网

 找回密码
 立即注册
搜索
查看: 2413|回复: 0
打印 上一主题 下一主题
收起左侧

[原创] #define语句后面只有一个字符而省略了数字常量,这是什么含义?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-11 20:16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
李大本事-辽宁:
问大家个问题,#define后面怎么就有一个符号而没有数字常量,第一次看到这么用的,是啥意思?

★坚鸿-深圳:
如果“#define  某字符      ”后面省略了常量,那么默认此字符后面紧跟的常量为1或者是非0的常量。这在预编译中经常用到的省略的写法,但是我们要知道,只要它不指定0并省略了,那就是默认为非0。
比如某头文件如下:
  1. #ifndef _DELAY_
  2. #define _DELAY_  //此处省略了后面的1

  3. #include "lpc177x_8x_clkpwr.h"
  4. void SysTickDelayInitial(void);

  5. #endif
复制代码


其实相当于:

  1. #ifndef _DELAY_
  2. #define _DELAY_  1   //这里的1可以省略

  3. #include "lpc177x_8x_clkpwr.h"
  4. void SysTickDelayInitial(void);

  5. #endif
复制代码



乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-4-28 14:43 , Processed in 0.217589 second(s), 17 queries .

快速回复 返回顶部 返回列表