我想在我的 .h/.c 对中隐藏 API 的公共结构的性质,所以我只在 .h 中声明 typedef 并在 .c 中完成声明,如下所示:
foo.h
typedef struct filters_s filters_t;
/* some public functions declaration using filters_t */
(...)
foo.c
typedef struct filters_s filter_node_t;
struct filters_s
{
filter_node_t *children[96];
(...)
}
如您所见,filters_s 实际上是树的根节点,因此在内部,我使用的是 filter_node_t 但在外部,我不想暴露结构的“树”性质。所以,我的“问题”是理想情况下我还想为结构命名,如 filter_node_s,但我不知道这是否可能。