C语言条件编译

条件编译在C语言中允许根据特定条件选择性编译代码块,主要由#define定义的标识符控制。三种形式包括:1) 判断标识符是否已定义,已定义则编译段1,否则编译段2;2) 未定义标识符则编译段1,已定义编译段2;3) 根据常量表达式的值决定编译段1或段2。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

条件编译就是在编译源程序时,对源程序中的部分语句有选择性地进行编译。符合条件的部分或没有限制条件的部分参与编译,不符合条件的那部分不参与编译。
条件编译命令的三种形式:
第一种:

#ifdef 标识符
  程序段1
#else
  程序段2
#endif

该预处理命令的功能时判断标识符是否在前面用#define定义过,若定义过,则程序段1参加编译;否则,程序段2参加编译。其中,命令中的#else及其后的程序段2可以省略。
第二种:

#ifndef 标识符
  程序段1
#else
  程序段2
#endif

该预处理命令的功能与第一种形式类似,只是作用相反。功能是判断标识符是否在前面用#define定义过。若没有定义过,则程序段1参加编译;否则,程序段2参加编译。
第三种:

#if 表达式
  程序段1
#else
  程序段2
#endif

该预处理命令中的表达式必须是常量表达式,若表达式的值非0(真),则程序段1参加编译,否则,程序段2参加编译。其中,命令中的#else及其后的程序段2可以省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值