这可能非常简单,但是在C语言中如何使结构体“x”成为结构体“x”?例如:
尽管这样会将变量节点留下作为一个指针,但我不想要它,我只想让它成为Node结构的实例。感谢您的帮助。 :)
编辑:
本质上,我试图做的是:
typedef struct _Node {
Node node;
} Node;
我做了一些研究并尝试使用指针,像这样:
typedef struct _Node {
struct Node *node;
} Node;
尽管这样会将变量节点留下作为一个指针,但我不想要它,我只想让它成为Node结构的实例。感谢您的帮助。 :)
编辑:
本质上,我试图做的是:
Node current = createNode(...);
while (true) {
Node node = createNode(..., ¤t);
addToList(node);
current = somethingElse();
}
您可能想象得到,我希望一个普通节点进入createNode()函数:
Node createNode(..., Node node) {}
Node
的变量包含一个名为node
、类型为Node
的成员变量,那么该成员变量中也包含一个名为node
、类型为Node
的成员变量……它们会形成一个无限的链。由于没有其他内容,你只能沿着这个无限链进行操作,却永远无法到达终点。 - user2404501