#ifndef,#define,#endif使用

自从大一上学期学完c语言之后,就没有在学过c语言了,现在由于学习需要,又要将c语言重新拾起来。而快速的学习一门语言(当然是有了一些基础了的),就是直接看源码,看的不会的,就去立马学习!好了,源码学习开始!

首先,本人使用understand阅读源码神器进行阅读源码。随手打开了一个.h头文件,跳过备注,之后就是#ifndef、#define,还有后面的#endif,这是干嘛用的啊!基础类型的c语言的书是不会讲到这个的(我所看的是没有讲到这个的)。

然后上网查用法:防止该头文件被重复引用,即同一文件在另一个文件在被include了多次,多数情况由于嵌套include引起。

那么,什么叫做重复引用呢?列举一个例子,现在有a.h,b.h,c.cpp,a.h这个头文件中include"b.h",c.cpp中头文件include“a.h”和头文件include"b.h",其中,b.h就重复出现在c.cpp中了。

注:头文件重复引用,不一定会报错!

下面再来解释一下,我所看到的这几个关键字的用法,

#ifndef PL_UTL_H //  if not define pldefine pl_utl.h

#define PL_UTL_H //   则引入 pl_utl.h这个头文件

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

#endif  // 放在文件的后面

最后,不管有没有重复引用的存在,推荐这种规范的写法!

你可能感兴趣的:(#ifndef,#define,#endif,c语言)