主要是熟悉 C 语言中的有关除了基础语法的外的关键字,并讲解一般的使用场景!
关键字语义
关键字名 | 语义 |
---|---|
#define | 定义一个预处理宏 |
#undef | 取消宏的宏 |
#if | 编译预处理中的条件命令,相当于 C 语法中的 if 语句 |
#ifdef | 判断某个宏是否为定义,若已定义,执行随后的语句 |
#ifndef | 与#ifdef相反,判断某个宏是否未被定义 |
#elif | 若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的 else-if |
#else | 与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else |
#endif | #if, #ifdef, #ifndef这些条件命令的结束标志. |
defined | 与#if, #elif配合使用,判断某个宏是否被定义 |
#ifndef的用法
#ifndef
的语义是判断某个宏是否未被定义。起到的效果是防止一个源文件两次包含同一个头文件,而不是防止两个源文件包含同一个头文件。
- 使用场景:
defined 用来测试某个宏是否被定义。defined(name): 若宏被定义,则返回 1 ,否则返回 0 。 与#ifdef和#ifndef不同之处是,它们可以判断多个条件,而#ifdef和#ifndef只能有一个条件。
1 |