我已经很长时间没有使用链表了,我不知道为什么这段代码会失败。我正在尝试创建一个非常简单的循环链表,其中正好有 5 个节点。我永远不需要插入额外的节点,也不需要删除现有的节点。
我得到一个'node' has no member named 'next'
错误。谁能告诉我我做错了什么?谢谢。
typedef struct {
char payload[1024];
int x;
node* next;
} node;
node* root_ptr;
node this_node;
root_ptr = malloc(sizeof(node *));
root_ptr = &this_node; //keep a pointer to the root
int i;
for (i=0; i<5; i++) {
node next_node;
this_node.next = &next_node;
this_node = next_node;
}
this_node.next = root_ptr;