C语言头文件避免重复包含的方法技巧
C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。以下是小编为大家搜索整理的C语言头文件避免重复包含的`方法技巧,欢迎大家阅读!更多精彩内容请及时关注我们应届毕业生考试网!
假定有以下几个头文件及其包含关系为:
File1.h,file2.h,file3.h,file4.h,file5.h,
那么:file3.h包含file1.h,file2.h,file4.h包含file1.h,file2.h,file5.h包含file3.h,file4.h。如许就会导致在file5中对file1和file2的反复包含,编译时就会报错。
解决方法:
1:应用#ifndef
#define
#endif
即每个文件在定义时都写成以下情势(以file1.h为例):
#ifndefH_FILE1
#defineH_FILE1
#include
#include
…..
#endif
File3.h:#ifndefH_FILE3
#defineH_FILE3
#include
#include
#inlcude”file1.h”
#include”file2.h”
…..
#endif
方法二:在每个文件的头部定义:#pragmaonce(用于解释本文件中的内容只应用一次)
例:fiel1.h:
#pragmaonce
#include
#include
…..
File3.h:
#pragmaonce
#include
#include
#include”file1.h”
…..
-
C语言自增(++)和自减(--)
C语言源自KenThompson发明的B语言,那么大家知道C语言自增(++)和自减(--)是什么呢?下面一起来看看!一个整数自身加一可以这样写:a+=1;它等价于a=a+1;。但是在C语言中还有一种更简单的写法,就是a++;或者++a;。这种写法叫做自加或自增;意思很明确,就是自身加一。相应...
-
c#实现sunday算法实例
Sunday算法思想跟BM算法很相似,在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符,下面小编为大家整理了c#实现sunday算法实例,希望能帮到大家!因正则表达式搜索总是出现死循环,开始考虑改为其他搜索方式,因为自带的IndexOf默认只能找到第一个或最后一...
-
C++跳转语句之Goto对变量定义的影响详解
goto语句也称为无条件转移语句,以下是为大家分享的C++跳转语句之Goto对变量定义的影响详解,供大家参考借鉴,欢迎浏览!前言goto语句也称为无条件转移语句,其基本形式如下:语句标号由一个有效地标识符和符号";"组成,其中,标识符的命名规则与变量名称相同,即由字母、数字...
-
如何在c语言中调用Linux脚本
如何在c语言中调用Linux脚本呢?你知道如何在c语言中调用Linux脚本吗?下面是小编为大家带来的如何在c语言中调用Linux脚本的知识,欢迎阅读。一、引言对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系...