独闷闷网

标题: #define语句后面只有一个字符而省略了数字常量,这是什么含义?已解答。 [打印本页]

作者: jianhong_wu    时间: 2016-9-11 20:16
标题: #define语句后面只有一个字符而省略了数字常量,这是什么含义?已解答。
李大本事-辽宁:
问大家个问题,#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
复制代码








欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2