指向自我的C结构

sha*_*rre 6 c struct

是否可以定义一个带有指向该类型结构的指针的结构?我的意思是:

typedef struct {
    char* name;
    node* parent;
} node;
Run Code Online (Sandbox Code Playgroud)

就我尝试或阅读而言,我不知道该怎么做或者甚至可能.

ava*_*kar 21

是的,但您必须为结构命名,以便您可以参考它.

typedef struct node_ {
    char* name;
    struct node_ * parent;
} node;
Run Code Online (Sandbox Code Playgroud)

node只有在完全定义结构后才会声明名称.


sam*_*wry 17

您可以使用incomplete typetypedef:

typedef struct node node;

struct node {
  char *name;
  node *parent;
};
Run Code Online (Sandbox Code Playgroud)