结构奇怪的纯C

Inv*_*ker 1 c struct

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

struct _NameStruct;

typedef struct _NameStruct NameStruct
Run Code Online (Sandbox Code Playgroud)

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

tan*_*grs 5

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

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