#ifndef 标识符 #define 标识符 ……#endif通俗说明

来源:互联网 发布:对大数据的理解300字 编辑:程序博客网 时间:2024/05/29 06:54

C语言中,常常一些头文件被多次包含(#include" "),这样就可能出现嵌套包含现象,比如a.h文件被包含进b.h文件,而a.h文件与b.h文件又被包含进c.h文件中,如此a.h文件在c.h文件中出现了两次,这样不仅影响预处理的效率,有时还会引发错误,所以我们想办法在a.h中做些标记,使得a.h被其他文件多次包含时只处理第一次。

#ifndef 标识符A

#define 标识符A

……

#endif

这块内容就能在重复包含时只处理第一次,一个文件被包含时“#ifdefine 标识符A”首先判断是否定义了“标识符A”,如果未定义(没有该标识符A),就“#define标识符A”,即定义标识符A。标识符A就相当于这个被包含文件的一个标志,第二次被包含(#include" ")时,发现标识符已经存在,由于“#ifdefine 标识符A”作用,便不会再处理“#ifndef”与“#endif”之间的内容。

这里的“标识符A”是自己定义的,但每一个文件里的该“标识符A”必须是唯一的。

而诸多老师为了方便辨认,以及宏名常用大写表示,所以常将“标识符A”写成“_头文件名大写_H”。实际上这里的“标识符A”的名称与头文件名称没有什么必然联系。

原创粉丝点击