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

上传资料

关闭

关闭

关闭

封号提示

内容

首页 #ifndef的使用

#ifndef的使用.doc

#ifndef的使用

hu红燕
2017-09-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《#ifndef的使用doc》,可适用于高等教育领域

#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常量完全取代宏常量除了C语言自己提供的数据类型我们可以用typedef声明新的类型名代替已有的类型名。如:()typedefintINTEGER则inta等价于INTEGERa()typedefchar*STRINGSTRINGP定义p为字符指针变量。typedefstructtest{intxinty}text,text只说了这种结构的(类型)别名叫text或叫text真正在语句里用还要写:texttest然后好用testxtesty或写texttest然后好用testxtesty()typedefstruct{intxinty}testtestmyst才能用mystx和mysty

用户评价(0)

关闭

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

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

提示

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

文档小程序码

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

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/3

#ifndef的使用

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利