目录
前言
预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动调用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。
C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(#define)、文件包含 (#include)、条件编译(#ifdef)等。合理使用预处理功能编写的程序便于阅读、修改、移植和调试,也有 利于模块化程序设计。
在这里,我们详细说一下宏定义(#define)
#define
指令#define定义了一个宏名标识符及一个字符序列(即字符集合)。在源程序中每次遇到该宏名 标识符时,就用定义的字符序列替换它。标识符被称为宏名,替换过程称为宏替换,指令的一般形式为
#define macro_name char_sequence
注意,该语句没有分号。在标识符和字符序列之间可以有任意个空格。
1.宏常量
例如,如希望用字符序列LEFT代表1,字符序列RIGHT代表0,可以声明这两个#define指令
#define RIGHT 0 //宏定义末尾不必加分号,否则连分号一并替换,宏定义不分配内存,没有类型。
#define LEPT 1
如此,当源文件进行预编译时,每次遇到LEFT或RIGHIT时就用1或0代替,例如下列程序