结构奇怪的纯C

时间:2013-10-19 02:53:32

标签: c struct

我刚刚阅读了一个开源软件。在其中,我看到一些代码,它让我不熟悉。所以这是关于结构的东西:

struct _NameStruct;

typedef struct _NameStruct NameStruct

之后,他们(开源)使用NameStruct来包含一些变量。我想知道为什么struct _NameStruct还没有定义一些变量以便他们如何使用它?

1 个答案:

答案 0 :(得分:5)

如果仔细阅读代码,您可能会发现他们只使用指向数据类型的指针。它可能是一个不透明的数据类型,因此您可以传递指向它的指针,但实际上不必知道它是如何实现的。

这些通常用于诸如只有库需要知道结构的实现的句柄之类的东西。