预处理器的主要任务包括删除注释、插入#include指令包含的文件的内容、定义和替换由#define指令定义的符号以及确定代码的部分内容是否应该根据一些条件编译指令进行编译。
#define的用法:
#define name stuff
使用#define指令,你可以把任何文本替换到程序中。
#define机制包括了一个规定,允许把参数替换到文本中,这种实现通常称之为宏或者定义宏。
#define的替换
1.在调用宏时,首先对参数进行检查,看看是否包含了任何由#define定义的符号。
2.替换文本随后被插入原来文本的位置。
3.最后,再次对结果文本进行扫描。
宏不能出现递归。
宏的优势:
1.用于调用和从函数返回的代码很可能比实际执行的这个小型计算工作的代码更大。
2.函数的参数必须声明为一种特定的类型,而宏与类型无关。