下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 ifndef的用法

ifndef的用法.doc

ifndef的用法

liu楷
2017-09-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《ifndef的用法doc》,可适用于初中教育领域

ifndef的用法#ifndefxifnotdefine的简写#definex#endif这是宏定义的一种它可以根据是否已经定义了一个变量来进行分支选择一般用于调试等等实际上确切的说这应该是预处理功能中三种(宏定义文件包含和条件编译)中的一种条件编译。C语言在对程序进行编译时会先根据预处理命令进行“预处理”。C语言编译系统包括预处理编译和链接等部分。#ifndefx先测试x是否被宏定义过#definex程序段如果x没有被宏定义过定义x并编译程序段#endif程序段如果x已经定义过了则编译程序段的语句“忽视”程序段。条件指示符#ifndef的最主要目的是防止头文件的重复包含和编译。了解:条件编译当然也可以用条件语句来实现。但是用条件语句将会对整个源程序进行编译生成的目标代码程序很长而采用条件编译则根据条件只编译其中的程序段或程序段生成的目标程序较短。如果条件选择的程序段很长采用条件编译的方法是十分必要的。编辑本段补充一些内容#ifndef标示判断"标示"是否定义如果被定义则返回假如果没有被定义则返回真。**********************************语句#ifndef标示语句#define标示语句#endif语句……语句……该段代码意思是:如果标示没有被定义则重定义标示即执行语句、语句、语句、……如果标示已经被定义则直接跳过语句、语句直接执行语句、语句、……***********************************备注:#ifndef和#endif要一起使用如果丢失#endif可能会报错。千万不要忽略了头文件中的#ifndef这是一个很关键的东西。比如你有两个C文件这两个C文件都include了同一个头文件。而编译时这两个C文件要一同编译成一个可运行文件于是问题来了大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用你都要加上这个。一般格式是这样的:#ifndef<标识>#define<标识>#endif<标识>在理论上来说可以是自由命名的但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写前后加下划线并把文件名中的“”也变成下划线如:stdioh#ifndefSTDIOH#defineSTDIOH#endif编辑本段详细讨论#ifndef的作用在c语言中对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作即使不使用#ifndef宏定义一个c文件多次包含同一个h文件也不会报错。但是在c语言中#ifndef的作用域只是在单个文件中。所以如果h文件里定义了全局变量即使采用#ifndef宏定义一个c文件包含同一个h文件多次还是会出现全局变量重定义的错误。使用#ifndef可以避免下面这种错误:如果在h文件中定义了全局变量一个c文件包含同一个h文件多次如果不加#ifndef宏定义会出现变量重复定义的错误如果加了#ifndef则不会出现这种错误。编辑本段条件编译的命令的三种形式“条件编译”命令允许对程序中的内容选择性地编译即可以根据一定的条件选择是否编译。条件编译的命令主要有以下几种:形式#ifndef标识符程序段I#else程序段#endif它的作用是当“标识符”已经由#define定义过了。则编译“程序段”。否则编译“程序段”。其中如果不需要编译“程序段”。则上述形式可以变换为:#ifdef标识符程序段#endif形式#ifndef标识符#define标识符程序段#else程序段#endif它的作用是当“标识符没有由#define定义过。则编译“程序段”。否则编译“程序段”。同样当无“程序段”时。则上述形式变换为:#ifndef标识符#define标识符程序段#endif形式#if表达式程序段#else程序段#endif它的作用是当“表达式”值为真时。编译程序段。否则则编译程序段。同样当无程序段时则上述形式变换为:#if表达式程序段#endif以上三种形式的条件编译预处理结构都可以嵌套使用。当#else后嵌套#if时可以使用预处理命令#elif它相当于#else#if。在程序中使用条件编译主要是为了方便程序的调试和移植。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/3

ifndef的用法

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利