一个小程序猿思考之路-头文件中#ifndef/#define/#endif作用和用法

编写自定义头文件时,原来就是随意的编写一些内容,但是很少去想过头文件的格式;

突然一天,发现自己的头文件里有这么几个小东西 ;

#ifndef DAO_H
#define DAO_H

...

#endif

上面这个有什么详细的意义?

恍惚的记着是为了避免头文件多次调用,造成多次编译,引起重定义的错误;

 

然后找了下

#ifndef _TEST_H
#define _TEST_H//一般是文件名的大写
头文件结尾写上一行:#endif

这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。

 

分析:当第一次包含test.h时,由于没有定义_TEST_H,条件为真,这样就会包含(执行)#ifndef _TEST_H和#endif之间的代码,当第二次包含test.h时前面一次已经定义了_TEST_H,条件为假,#ifndef _TEST_H和#endif之间的代码也就不会再次被包含,这样就避免了重定义了。主要用于防止重复定义宏和重复包含头文件

 

转载于:https://www.cnblogs.com/aiyq195/p/6391259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值