哪个是 C 中头文件的正确使用?

use*_*632 5 c c++ header

我真的很想知道使用头文件的正确方法。
下面是使用头文件的两种方法,我认为它们中的任何一种都是好方法。

注意:Destroy.c 也使用 stdio.h、stdlib.h
1。 在此处输入图片说明

2. 在此处输入图片说明

请给我建议。谢谢

O. *_*nes 1

#include以有助于记录该模块的方式提及每个模块中的行是一个很好的做法。这样,下一个处理您的代码的人就可以查看它并看到,例如,“啊哈,这个模块使用 stdlib。” 这是一种使您的依赖项对编译器和程序员都可见的方法。

stdlib因此,如果您在模块中使用 的功能,Destroy.c请在一行中提及它#include。如果不这样做,请将其保留。

如果您的main.c程序使用模块中的功能Destroy.c,请包含Destroy.h在您的main.c.

#include当您决定是否将系统头文件的 嵌套在头文件之一中时,情况也是如此(在我看来) 。如果头文件中的内容本身使用了系统头文件中的内容,则包含它。

这个头文件模式:

#ifndef MODULE_H
#define MODULE_H
  /* lots of stuff */
#endif
Run Code Online (Sandbox Code Playgroud)

目的是可以在需要的地方提及每个头文件,而不必担心多次包含它。

另一个人建议#include按照传统的顺序呈现你的台词,系统首先包含。那是一个好主意。

所有这些都只是惯例,而不是硬性规定。我提供的会议对于我所服务过的团队来说效果很好。

编辑通常.c.h文件是配对的。该文件包含使用该文件中的函数.h所需的声明。有时这只是一个函数声明,有时它还包括常量、结构和其他此类内容的声明。(我在这里写关于语言的内容。类定义中的规则比 中的更清晰。).cCC++C

您创建的头文件很少会使用系统头文件中的内容,但并非不可能。可能的情况是:声明一个执行某种错误日志记录的宏。