.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のような構造体の別の名前も付けたいということですが、それが可能かどうかはわかりません。