gpt4 book ai didi

c - 在链表中使用结构

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:13 25 4
gpt4 key购买 nike

我正在尝试创建一个 append_node 方法来将一个节点添加到我创建的链表中。我的节点结构定义如下:

typedef struct Node{
struct Node next = NULL;
int id;
} Node;

然而,当用下面的方法编译时,我得到以下错误:“节点”没有名为“id”的成员'Node' 没有名为 'next' 的成员

void append_node(Node *sent,int val){   
Node *other_node = (struct Node *)malloc(1*sizeof(struct Node));
other_node->id = val;
Node n = *sent;
while (n.next != NULL){
n = n.next;
}
n.next = other_node;
}

为什么会出现这个错误?

编辑:

我也有如下错误

error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token

在节点定义的第一行

最佳答案

您不能在同一结构中再次定义 Node。这将是无限递归。

你可以有一个指向相同类型的指针。

typedef struct Node{
struct Node *next;

关于c - 在链表中使用结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26243541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com