预处理命令是在程序编译阶段进行执行的命令,用于编译与特定环境相关的可执行文件。预处理命令扩展了C语言。
一、宏替换命令
不用多讲,大家都懂。
#define 标识符 字符串
下面总结一些比较特殊的宏:
1、交换两个参数值
//一定要注意小括号的使用
#define SWAP(a,b) {(a)=(a)+(b); (b)=(a)-(b); (a)=(a)-(a);}
2、输入两个参数,输出较小的一个
#define MIN(A,B) ((A)<(B)?(A):(B))
3、表明一年有多少秒
#define SECOND_PER_YEAR (60*60*24*365)UL
4、已知一个数组table,用一个宏定义,求出数组的元素个数
#define NTBL (sizeof(table)/sizeof(table[0]))
用宏替换代替简单的函数能加快程序执行速度,因为不存在函数调用的开销,同时也提高了代码的可读性。
命令#undef用作取消已定义的宏名替换。
#undef 标识符
二、中止编译命令
在调试程序时,为了提高调试速度,通常在源代码的适当位置加入中止编译命令#error.
#error 错误信息字符串
错误信息字符串不用双引号包围,当程序编译到#error指令时,错误信息被显示,如下列源代码所示。
#error MANUAL_STOP //停止编译,并使编译器提示编译错误信息MANUAL_STOP
当编