预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:
#:空指令,无任何效果
#include:包含一个源代码文件
#define:定义宏
#undef:取消已定义的宏
#if:如果给定条件为真,则编译下面代码
#ifdef:如果宏已经定义,则编译下面代码
#ifndef:如果宏没有定义,则编译下面代码
#elif:如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif:结束一个#if……#else条件编译块
#error:停止编译并显示错误信息