本文主要是介绍C语言一个头⽂件可以包含另⼀个头⽂件吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、问题
通常⽤在⽂件头部的被包含⽂件称为“标题⽂件”或 “头部⽂件”,简称“头⽂件”。 头⽂件常以“.h”为后缀,表⽰ head(头)的意思。那么,这个头⽂件可以包含另⼀个头⽂件吗,即嵌套包含⽂件?
二、解答
头⽂件中往往存放⼀些宏定义的常量、函数原型以及结构体类型定义和全局变量等。 其中,头⽂件在程序中被使⽤,需要⼀个 #include 命令包含这个头⽂件,并且,⼀个 #include 命令只能指定⼀个被包含⽂件。关于头⽂件,在⼀个被包含⽂件中又可以包含另⼀个被包含⽂件。也就是说,⽂件包含是可以嵌套的。
很多⼈认为“嵌套包含⽂件”应该避免,因为这样会让相关的定义更加难以找到。如果⼀个⽂件被包含两次,就会导致重复定义的错误,同时会令 makefile 的⼈⼯维护⼗分困 难。另外,它使模块化使⽤头⽂件成为⼀种可能,即⼀个头⽂件可以包含所需要的⼀切, ⽽不是让每个源⽂件都包含需要的头⽂件。类似 grep 的⼯具(或 tags ⽂件)使搜索定义 ⼗分容易,⽆论它在哪⾥。
有⼀种⽐较流⾏的头⽂件定义技巧,例如:
#ifndef HFILENAME_USED
#define HFILENAME_USED /*头⽂件内容*/
...
#endif
每⼀个头⽂件都使⽤了⼀个独⼀⽆⼆的宏名。这令头⽂件可⾃我识别,以便可以安全地多次包含,⽽⾃动 makefile 维护⼯具可以很容易地处理嵌套包含⽂件的依赖问题。
三、总结
由于头⽂件特殊的宏名,使⼀个头⽂件可以包含另⼀个头⽂件,避免了嵌套引发的很多重复定义的错误。
这篇关于C语言一个头⽂件可以包含另⼀个头⽂件吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!