C语言的预处理命令的问题

本文详细介绍了C语言的预处理命令,包括宏替换、中止编译#error、文件包含、条件编译#if系列、修改行号#line以及编译指示#pragma。通过这些命令,开发者可以实现编译时的条件控制、代码优化以及定制化编译等功能。
摘要由CSDN通过智能技术生成

预处理命令是在程序编译阶段进行执行的命令,用于编译与特定环境相关的可执行文件。预处理命令扩展了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

当编

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值