1.预处理的概念
C语言中,以#
开头的语句统称为编译预处理命令.
这些命令必须在一行的开头以#
开始,末尾不加分号,并且每条命令独占一行,以区别于一般的C语句.它们可以放在程序的任何位置.
2.宏
(1)宏是一种定义,它就是给一个语句块(宏体)定义了一个名字
#define 宏名 宏体
(2)宏定义好处
- 提高了可读性
- 减少了书写错误
- 维护性
- 提高运行速度
(3)预处理时执行替换动作,把源程序中使用宏定义的地方替换成宏体,这个过程叫做宏展开或宏替换
3.无参宏和带参宏
(1)宏分为两种
- 无参宏
- 带参宏
(2)区别
宏名字后有参数就是带参宏,也叫宏函数
4.条件编译
(1)三种方式
①方式1:
#ifdef 标识符
程序段1
#else
程序段2
#endif
②方式2:(防止头文件重复包含)
#ifndef 标识符
程序段1
#else
程序段2
#endif
③方式3:
#if 表达式
程序段1
#else
程序段2
#endif
(2)用途:
①调试程序(打印调试时)
②防止一个源文件对同一个头文件的多次重复包含
③只使用有效代码参加编译,提高效率
5.文件包含
#include "文件名"
#inclue <文件名>
(1)文件包含可以指定所包含文件的绝对路径:
如:
#include "C:\Program Files\Microsoft Visual Studio\MyProjects\01.h"
(2)文件包含可以指定所包含文件的相对路径
如:
#include "...\MyProjects\01.h"
推荐使用相对路径