C语言预处理指令
#define | 定义宏 |
#include | 包含一个源代码文件 |
#undef | 取消已定义的宏 |
#ifdef | 如果宏已经定义,则返回真 |
#ifndef | 如果宏没有定义,则返回真 |
#if | 如果给定条件为真,则编译下面代码 |
#else | #if 的替代方案 |
#elif | 如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码 |
#endif | 结束一个 #if……#else 条件编译块 |
#error | 当遇到标准错误时,输出错误消息 |
#pragma | 使用标准化方法,向编译器发布特殊的命令到编译器中 |
1、宏定义:#define
格式:
#define 新标识 旧标识 // 注意:后面不加分号
例1:
#define PI 3.14 //使用PI代替3.14
宏定义也可以带参数
例2:
#define MAX(A,B) ((A) > (B) ? (A) : (B))
2、取消宏定义:#undef
例3:
#undef PI //取消PI的宏定义
3、条件宏:带#,以if开头,必须要以endif结尾;使用方法和if语句差不多
例4:
#ifndef XXX
如果没定义XXX,编译这里
#else
否则,编译这里
#endif
例5:
#if A == 1
满足 A == 1,编译这里
#elif A == 2
满足A == 2,编译这里
#else
以上两者都不满足就编译这里
#endif
#ifdef :if define 如果定义了
#ifndef :if not define 如果没有定义
#elif : else if
4、包含头文件 #include
例6:
#include <stdio.h>
#include "test.h"
<>直接从系统当中的路径进行查找对应的头文件
""使用先从当前源文件路径查找 如果查找不到,再到系统路径当中查找
5、#pragma
用法非常多,详细可以内容可以参考https://blog.csdn.net/lmhuanying1012/article/details/78549763