编译预处理是编译器根据源程序中的预处理指令对源程序文本尽心相应操作的过程。
C语言的编译预处理指令主要包括文件包含、宏定义、条件编译三种,分别用头文件包含命令、宏定义命令、条件编译命令实现。
编译预处理命令以#好开头,结尾不加分号,因为他们不是C语句
头文件用来保存程序的声明,包括功能函数原型和数据类型的声明。
宏定义可以将一个标识符定义为一个字符串,在编译预处理时i,源程序中的该标识符均用指定的字符串代替
define 是宏定义命令
标识符叫做宏名
预编译时吧宏名替换成字符串的过程叫做宏展开。
如: #define PI 3.1415926
#define ISPOSITIVE >0
宏定义是真的真的“语句的等量代换”
define命令写在文件开头,函数之前,作为文件的一部分,在这个文件范围内有效。
可以用#undef终止宏定义的作用域。
带参宏定义可以完成一些简单函数所能实现的功能,同时减少系统开销,带参宏定义也只是一个符号置换过程,和函数有本质区别。
带参宏定义是一种简单的置换
条件编译对部分内容指定编译的条件,让它在一定条件下才进行编译。
利用条件编译方便调试程序。