C语言__预处理(宏定义、文件包含、条件编译)
预处理简单理解
1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译
2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号
3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件
4.C语言提供的预处理指令主要有:宏定义、文件包含、条件编译
宏定义分类——不带参数的宏定义 和 带参数的宏定义
——不带参数的宏定义
1.一般形式:#define 宏名 字符串 【例】 #define ABC 10
2.作用:在编译预处理时,将源程序中所有"宏名"替换成右边的"字符串",常用来定义常量。
3.使用习惯和注意:宏名一般用大写字母,以便与变量名区别开来,但用小写也没有语法错误;对程序中用双引号扩起来的字符串内的字符,不进行宏的替换操作;在编译预处理用字符串替换宏名时,不作语法检查,只是简单的字符串替换。只有在编译的时候才对已经展开宏名的源程序进行语法检查;宏名的有效范围是从定义位