宏定义(#ifndef+#define+#endif)介绍

本文讲解#ifndef、#define、#endif三者结合的宏定义作用,即防止头文件被重复包含和编译,通过实例说明如何有效避免因多次包含同一头文件导致的变量或函数重定义错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要介绍#ifndef、#define、#endif三者一起使用的宏定义的相关知识。

在头文件中,我们经常会见到#ifndef、#define、#endif三者一起使用的宏定义。

例如,在头文件xxx.h中(此样式可参考):

#ifndef __XXX_H__
#define __XXX_H__
#include <iostream>

// 其他代码

#endif

使用#ifndef、#define、#endif组合宏定义的作用是:防止头文件的重复包含和编译。

例如,现在有4个文件:main.cpp、fileA.h、fileB.h、fileC.h,这几个文件的包含关系如下:

现已知在fileC.h中,存在nTest的定义。在这种情况下,编译“main.cpp”时,系统就会报错,提示nTest重定义,错误信息如下:

此时,使用本文介绍的#ifndef、#define、#endif宏定义组合,就可以很好的避免此问题,修改后的fileC.h代码如下:

#ifndef __FILEC_H__
#define __FILEC_H__
#include <iostream>

using namespace std;

int nTest = 1;

#endif

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liitdar

赠人玫瑰,手有余香,君与吾共勉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值