C语言中多次包含同一个头文件的结果和解决方案

问题来源:

加入你有一个C源文件,它包含了多个头文件,比如头文件A和头文件B,而头文件B又包含头文件A

 

结果:

该源文件包含了头文件A两次,这时,编译时会报大量的重复定义错误。

 

解决方案:

使用宏定义

在自定义的头文件开头写上:

#ifndef_HEADFILENAME_H

#define_HEADFILENAME_H

 

后文件结尾写上

#endif

 

语句“#ifndef_HEADFILENAME_H"

也是宏定义的一种,意为"if not defined headfilename.h",就是说

如果没有定义文件名为 headfilename.h的头文件,就会执行该语句和#endif直接的代码

 

如果定义了,则不会执行该语句和#endif直接的代码

注:#ifndef_HEADFILENAME_H必须和#endif配合使用

 

posted @ 2020-07-24 12:53  DNoSay  阅读(1459)  评论(0编辑  收藏  举报