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

上传资料

关闭

关闭

关闭

封号提示

内容

首页 #ifndef的用法

#ifndef的用法.doc

#ifndef的用法

自-浮生未
2017-09-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《#ifndef的用法doc》,可适用于IT/计算机领域

#ifndef的用法定义#ifndefx#definex#endif这是宏定义的一种它可以根据是否已经定义了一个变量来进行分支选择一般用于调试等等实际上确切的说这应该是预处理功能中三种(宏定义文件包含和条件编译)中的一种条件编译。C语言在对程序进行编译时会先根据预处理命令进行“预处理”。C语言编译系统包括预处理编译和链接等部分。#ifndefx先测试x是否被宏定义过#definex如果没有宏定义下面就宏定义x并编译下面的语句#endif如果已经定义了则编译#endif后面的语句条件指示符#ifndef检查预编译常量在前面是否已经被宏定义。如果在前面没有被宏定义,则条件指示符的值为真于是从#ifndef到#endif之间的所有语句都被包含进来进行编译处理。相反如果#ifndef指示符的值为假则它与#endif指示符之间的行将被忽略。条件指示符#ifndef的最主要目的是防止头文件的重复包含和编译。补充一些内容千万不要忽略了头件的中的#ifndef这是一个很关键的东西。比如你有两个C文件这两个C文件都include了同一个头文件。而编译时这两个C文件要一同编译成一个可运行文件于是问题来了大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用你都要加上这个。一般格式是这样的:>#ifndef<标识#define<标识>#endif<标识>在理论上来说可以是自由命名的但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写前后加下划线并把文件名中的“”也变成下划线如:stdioh#ifndefSTDIOH#defineSTDIOH#endif#ifndefxxx如果没有定义xxx#definexxx定义xxx#endif结束如果这个用法主要是在头文件中主要是为了防止类重复的include所以在类的头文件之前加上前面两个用类名替代xxx在最后加上最后一句。const与#define的比较C语言可以用const来定义常量也可以用#define来定义常量。但是前者比后者有更多的优点:()const常量有数据类型而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换没有类型安全检查并且在字符替换可能会产生意料不到的错误(边际效应)。()有些集成化的调试工具可以对const常量进行调试但是不能对宏常量进行调试。【规则】在C程序中只使用const常量而不使用宏常量即const常量完全取代宏常量。

用户评价(0)

关闭

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

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

提示

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

文档小程序码

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

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/3

#ifndef的用法

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利