C中的头文件单独声明(必须可用于每个使用函数的.c文件)来自定义(必须在一个地方).此外,它们提供了一点模块性,因为您只能将公共接口放入头文件中,而不能提及应该在.c文件内部的函数和静态变量.它使用文件系统来提供公共接口和私有实现.
一个.h文件到一个.c文件的做法大多是方便的.这样,您就知道声明在.h文件中,以及相应的.c文件中的定义.
逻辑,结构化组织和小型源文件支持:
特别是,"每个源文件的一个标题"使得查找与您正在使用的c文件相关的声明变得非常容易.只要您开始将多个标头合并到一个文件中,就会开始变得难以关联c和h文件,最终使构建大型应用程序变得更加困难.如果你只是在一个小应用程序上工作,那么养成使用可扩展方法的习惯仍然是个好主意.
程序员使用这种方法是因为它允许他们将接口与实现分开,同时保证客户端代码和实现就函数的声明达成一致。.h 文件是关于每个函数原型的“事实真相”(请参阅不要重复自己)。
(客户端代码是#include.h 文件中的代码,用于使用导出的函数,但不实现 .h 中的任何函数。)