本文主要写了预处理指定和#define 宏替换及宏函数,以及为什么会用到 do/while(0); 读者需要那部分知识可以直接点击目录里面的链接
本文参考:https://www.cnblogs.com/flowingwind/p/8304668.html
https://www.cnblogs.com/bytebee/p/8205707.html
https://www.cnblogs.com/wuweierzhi/p/11591999.html
目录
一、预编译指令
命令 | 命令效果 |
#空指令 | 无任何效果 |
#include | 包含一个源代码文件 |
#define | 定义宏 |
#undef | 取消已定义的宏 |
#if | 如果给定条件为真,则编译下面代码 |
#ifdef | 如果宏已经定义,则编译下面代码 |
#ifndef | 如果宏没有定义,则编译下面代码 |
#elif | 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 |
#endif | 结束一个#if……#else条件编译块 |
#error | 停止编译并显示错误信息 |
条件编译命令最常见的形式为:
- #ifdef 标识符
- 程序段1
- #else
- 程序段2
- #endif