C语言学习笔记(十四)

预处理

预处理功能是C语言特有的功能,预处理包含许多有用的功能,如宏定义,条件编译。

宏定义是预处理命令的一种,使用 #define 定义。

比如:

1
#define PI 3.14

宏定义不是C语句,不需要在行末尾添加分号。如果宏定义过长,可以用反斜杠 “\” 进行换行。通常将所有的宏定义放在文件的开始或独立的文件中。宏定义只是完成字符的替换,不分配内存空间。

宏定义可以带参数,
比如:

1
#define ADD(a, b) ((a) + (b))

宏定义时参数要加括号,否则结果在某些情况下会是错误的。因为宏定义是参数的替换,如果不加括号,运算的先后顺序可能发生变化。

#include指令

该指令可以将另一个源文件的全部内容包含进来,被包含的源文件用双引号或者尖括号括起来。
一般将下面内容放到.h文件中:
宏定义。结构,联合和枚举声明。typedef声明。外部函数声明。全局变量声明。

条件编译

预处理器提供了条件编译的功能,使用条件编译可以方便的处理程序的调试版本和正式版本,同时增强程序的可移植性。