预处理命令 条件编译

目录

预处理命令

条件编译

1.#if···#endif

2.#ifdef···#endif

3.#ifndef···#endif


预处理命令

源程序中以#开头的行称为预处理指令。

预处理指令并不是C语言的语法成分,而是传给编译程序的指令。

包括:

宏定义

#define

#undef

文件包含

#include

条件编译

#if

#ifdef

#else

#elif

#endif

其他

#line

#error

#pragma

我们在之前的文章写过宏定义和文件包含的笔记,现在我们学习一下条件编译。

条件编译

一般情况下,源程序中所有的语句都参加编译,但有时也希望根据一定的条件去编译源程序的不同部分,这就是条件编译。

条件编译的作用就是使得同一个源程序在不同编译条件下会得到不同的目标代码。

1.#if···#endif

#if 条件1
    程序1
#elif 条件2
      程序2
  ·
  ·
  ·
#else
      程序n
#endif

如果条件1为真就编译程序1,条件2为真就编译程序2,都不为真就编译程序n。

说明:

elif是else if的意思,但不能写成else if。

#elif和#else可以没有,但endif必须有,它是#if命令的结尾。

#elif可以有多个。

条件可以不加括号。

2.#ifdef···#endif

#ifdef 宏名
       程序1
#else
       程序2
#endif

如果这个宏已经被定义了,那么编译程序1,否则编译程序2。

3.#ifndef···#endif

#ifndef 宏名
        程序1
#else
        程序2
#endif

如果这个宏没有被定义,那么编译程序1,否则编译程序2。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MaolinYe(叶茂林)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值