【发布时间】:2009-11-28 22:39:41
【问题描述】:
是否可以使用指向该类型结构的指针来定义结构?我的意思是:
typedef struct {
char* name;
node* parent;
} node;
就我尝试或阅读的内容而言,我不知道该怎么做,甚至不知道这是否可行。
【问题讨论】:
是否可以使用指向该类型结构的指针来定义结构?我的意思是:
typedef struct {
char* name;
node* parent;
} node;
就我尝试或阅读的内容而言,我不知道该怎么做,甚至不知道这是否可行。
【问题讨论】:
是的,但是你必须给结构命名,这样你才能引用它。
typedef struct node_ {
char* name;
struct node_ * parent;
} node;
名称node 仅在结构完全定义后才被声明。
【讨论】:
您可以在typedef 中使用incomplete type:
typedef struct node node;
struct node {
char *name;
node *parent;
};
【讨论】:
是的,这是可能的。
这就是链表的制作方式!
【讨论】:
你为什么不试试呢?您必须为结构命名,是的,这就是递归数据结构的工作方式。
【讨论】: