预处理程序 按照ANSI 标准的定义,预处理程序应该处理以下指令: #if #ifdef #ifndef #else #elif #endif #define #undef #line #error #pragma #include 显然,上述所有的12个预处理指令都以符号#开始,,每条预处理指令必须独占一行
#define #define 指令定义一个标识符和一个串(也就是字符集),在源程序中发现该标识符时,都用该串替换之
这种标识符称为宏名字,相应的替换称为宏代换
一般形式如下: #define macro-name char-sequence 这种语句不用分号结尾
宏名字和串之间可以有多个空白符,但串开始后只能以新行终止
例如:我们使用 LEFT 代表1,用 RIGHT 代表0,我们使用两个#define 指令: #define LEFT 1 #define RIGHT 0 每当在源程序中遇到 LEFT 或 RIGHT 时,编译程序都用1或0替换
定义一个宏名字之后,可以在其他宏定义中使用,例如: #define ONE 1 #define TWO ONE+ONE #define THREE ONE+TWO 宏代换就是用相关的串替代标识符
因此,如果希望定义一条标准错误信息时,可以如下定义: #define ERROR_MS “Standard error on input \n” 如果一个串长于一行,可在行尾用反斜线”\”续行,如下: #define LONG_STRING “This is a very very long \ String that is used as an example” 3
#error #error 指令强制编译程序停止编译,它主要用于程序调试
#error 指令的一般形式是: #error error-messag