【问题标题】:should all struct types be included in same header file?所有结构类型都应该包含在同一个头文件中吗?
【发布时间】:2015-01-21 01:26:06
【问题描述】:

下面是我的小项目的一部分。 我第一次在一个文件(main.c)中编写了一个代码。而我现在要做的是根据功能分离这个文件,这被称为“调制”(希望它是正确的)。所以,我为每个'.c'制作了一个头文件,但我想知道如何处理结构的所有typedef定义。 我是否必须创建名为“struct.h”的新头文件并将它们全部放入?还是每个都应该包含在使用它的文件中?

【问题讨论】:

  • 我通常为每个数据项(struct/union/tables/etc)生成一个单独的头文件,然后如果需要更改,我有一个简单的小文件要修改。通常,一个文件被分成子文件有几个原因。 1)主文件很大,2)帮助实现良好编程的特征,例如数据隐藏,实现隐藏,功能本地化,限制范围,可重用性,代码清晰等。

标签: c struct


【解决方案1】:

你问的是意见问题。这些方法中的任何一种都是有效的,并且会有他们的支持者和反对者:

  1. 为每个结构使用单独的头文件。这很清楚,但可能有很多文件。
  2. 对所有结构使用单个标头。以自己的方式有点清晰,但可能会变得太大。
  3. 如 (1) 中一样使用单独的标题,但添加一个“主”标题,#includes 全部为“方便”。我认为这是一个坏主意,但很多人都这样做。
  4. 按主题组织,例如将所有“人”相关的结构放在一个标题中。如果你想这样做,如果“主题”结构类型名称共享一些前缀,例如“personId”和“personName”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多