是否可以定义一个带有指向该类型结构的指针的结构?我的意思是:
typedef struct {
char* name;
node* parent;
} node;
就我所知或阅读的内容,我不知道如何做到这一点,或者它是否可能实现。
是的,但你必须给结构体命名,这样你才能引用它。
typedef struct node_ {
char* name;
struct node_ * parent;
} node;
结构体完全定义之后才能声明名称为node
的变量。
您可以在 typedef
中使用 不完全类型
:
typedef struct node node;
struct node {
char *name;
node *parent;
};
是的,这是可能的。
这就是链表的制作方式!
为什么不尝试一下呢?你需要给结构体取一个名字,而且是的,这是递归数据结构的工作方式。