#ifndef #define #endif的作用

#ifndef #define #endif的作用

    今天在学习C语言的时候遇到了一个不懂的问题,在很多头文件里面都有如下的格式:

#ifndef XX_H_ 
#define XX_H_
 ....
....
....
#endif

        在百度了之后,查询到这个作用是防止该头文件被重复引用,可是在这里的被重复引用是什么意思呢?在经过了一番查找之后,终于明白了这个作用,所以打算在这里来写博客来总结一下。

#ifndef A_H_
#define A_H_
....
....
....
#endif

         这段代码的意思是,如果没有定义a.h则执行#ifndef到#endif之间的代码,否则不执行。这样如果我们在c.cpp中这样写的:

#include "a.h" #include "b.h"







        系统在引用a.h头文件时,会先进入#ifndef判断a.h头文件是否已经被引用,由于在这里我们是第一次引用a.h头文件,所以它会引用后面的代码。在引用b.h时,由于b.h里面包含了a.h头文件,所以在b.h中引用a.h时,它会先判断a.h是否已经被引用,由于我们已经已经引用了a.h头文件,所以条件为假,系统不会引用a.h后面的代码,这样就防止了在一个cpp文件多次引用了同一个头文件。

	   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值