结构可以有一个成员,它是指向同一类型结构的指针吗?

Reu*_*imp 2 c struct pointers qualifiers

听起来很复杂,但这是一个简单的概念.假设你有一些结构"foo",如果它的成员是指向另一个foo结构的指针(如链表)

这似乎有效.

struct foo {
   struct foo* ptr;
};
Run Code Online (Sandbox Code Playgroud)

但是,如果我想让foo成为一个类型呢?

就像我将如何做以下几点?

typedef struct foo {
   foo* ptr;
} foo;
Run Code Online (Sandbox Code Playgroud)

ptr的声明失败,因为foo还不是限定符.

Cas*_*yer 5

转发声明定义.

typedef struct foo {
    struct foo* ptr
} foo;
Run Code Online (Sandbox Code Playgroud)

或者您可以转发声明类型声明.

typedef struct node_t node_t;

typedef struct node_t {
   node_t *next;
} node_t;
Run Code Online (Sandbox Code Playgroud)