宏定义和宏编译

宏定义与预编译详解
本文深入探讨宏定义在编程中的使用,包括其工作原理、优点与缺点,以及如何在实际项目中合理运用宏来简化代码和实现特定功能。同时,介绍了预编译过程,阐述预编译头文件的作用和配置,帮助读者理解宏和预编译在软件开发中的重要角色。
 
// 以下是宏定义的一些用法 


11.4.2 #if defined… #else …#endif

此编译指令为#ifdef … #else …#endif的等价编译指令。其语法格式如下:
#if defined 常量表达式
代码段1
#else
代码段2
#endif
或
#if defined (常量表达式)
代码段1
#else
代码段2
#endif
此编译指令的简单形式为单分支的条件编译指令,其语法形式如下:
#if defined常量表达式
代码段1
#endif



因为对于一个大程序而言,我们可能要定义很多常量( 不管是放在源文件还是头文件 ),那么我们有时考虑定义某个常量时,我们就必须返回检查原来此常量是否定义,但这样做很麻烦.if defined宏正是为这种情况提供了解决方案.举个例子,如下: 

#define .... 
#define .... 
........ 
........ 
#define a 100 
....... 
此时,我们要检查a是否定义(假设我们已经记不着这点了),或者我们要给a一个不同的值,就加入如下句子 
#if defined a 
#undef a 
#define a 200 
#endif 
上述语句检验a是否被定义,如果被定义,则用#undef语句解除定义,并重新定义a为200 

同样,检验a是否定义: 
#ifndef a //如果a没有被定义 
#define a 100 
#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值