是否可以使用指向该类型结构的指针定义结构?我的意思是:
typedef struct {
char* name;
node* parent;
} node;
就我的尝试或阅读而言,我不知道该怎么做或者甚至可能。
答案 0 :(得分:21)
是的,但您必须为结构命名,以便您可以参考它。
typedef struct node_ {
char* name;
struct node_ * parent;
} node;
名称node
仅在完全定义结构后才会声明。
答案 1 :(得分:17)
您可以在incomplete type
:
typedef
typedef struct node node;
struct node {
char *name;
node *parent;
};
答案 2 :(得分:1)
我同意......和树木。你不必像“鸡蛋和鸡蛋”那样看它,因为在实例化之前总是会定义一个类型。因此,当你开始将两者混合在脑中时,拥有相同类型对象的成员变量是非常棘手的!
答案 3 :(得分:0)
是的,这是可能的。
这是链接列表的制作方式!
答案 4 :(得分:-2)
你为什么不尝试一下?你必须为结构命名,是的,这是递归数据结构的工作方式。