条件编译 预处理命令

C语言以#开头,以换行符结尾的行称为预处理指令
1)宏定义
#define
#undef
2)文件包括
#include
3)条件编译
#if
#ifdef
#else
#elif
#endif
4)其他
#line
#error
#pargma

有些语句希望在条件满足时才编译。
格式:(1)

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

#ifdef
程序段1
#endif

当标识符已经定义时,程序段1才参加编译。

格式:(2)

#ifndef 标识符
#define 标识1
程序段1
#endif

如果标识符没有被定义,则重定义标识1,且执行程序段1。
格式:(3)

#if 表达式1
程序段1
#elif 表达式2
程序段2
……
#elif 表达式n
程序段n
#else
程序段n+1
#endif

当表达式1成立时,编译程序段1,当不成立时,编译程序段2。
使用条件编译可以使目标程序变小,运行时间变短。
预编译使问题或算法的解决方案增多,有助于我们选择合适的解决方案。
此外,还有布局控制:#pragma,这也是我们应用预处理的一个重要方面,主要功能是为编译程序提供非常规的控制流信息。

来源:

https://baike.baidu.com/item/%E9%A2%84%E5%A4%84%E7%90%86%E5%91%BD%E4%BB%A4/10204389?fr=aladdin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Philtell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值