jianhong_wu 发表于 2016-9-11 20:16:46

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

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

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

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

#endif

其实相当于:

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

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

#endif


页: [1]
查看完整版本: #define语句后面只有一个字符而省略了数字常量,这是什么含义?已解答。