#indef、#ifndef、#if有关问题的解释

(1)#ifdef标识符     2#ifndef 标识符   3#if 表达式

              程序段1                     程序段1                      程序段1
         #else                         #else                           #else
              程序段2                      程序段2                      程序段2
         #endif                       #endif                        #endif

标识符:如#define MAX 1宏定义的MAX标识符,

表达式:如min == 1

Question1

#ifdef标识符:若标识符被定义,则编译程序段1,否则编译程序段

#ifndef标识符:若标识符未被定义,则编译程序段1,否则编译程序段。两者实质是一样的。

Question2

有人会问:不用条件编译命令而直接用if语句也能达到要求,用条件编译命令有什么好处呢?的确,此问题完全可以不用条件编译处理,但那样做目标程序长(因为所有语句都编译),而采用条件编译,可以减少被编译的语句,从而减少目标的长度。当条件编译段比较多时,目标程序长度可以大大减少。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值