gpt4 book ai didi

c - 双链表中的访问冲突错误

转载 作者:行者123 更新时间:2023-11-30 15:28:26 28 4
gpt4 key购买 nike

我在尝试将元素添加到双向链表时遇到此错误。我似乎找不到错误。

struct Pacijent
{
char ime[10];
[...]
Pacijent *prev;
Pacijent *next;
};

struct Lista
{
Pacijent *front;
Pacijent *back;
};

void assign(Pacijent p1, Pacijent p2)
{
memcpy(&p1.ime, &p2.ime, sizeof(p1.ime));
[...]
}

这是导致错误的函数:

void insertBack(Pacijent p, Lista l)
{
Pacijent *novi = (Pacijent*)malloc(sizeof(Pacijent));
assign(*novi, p);
if (l.back = NULL)
{
l.front = l.back = novi;
novi->prev = NULL;
novi->next = NULL;
}
else
{
novi->prev = l.back; //here is where I get the error
l.back->next = novi;
novi->next = NULL;
l.back = novi;
}
}

以及main函数的相应部分:

Lista *lista = (Lista*)malloc(sizeof(Lista));
lista->back = lista->front = NULL;

[...]
Pacijent p1 = noviPacijent("Marko", "Markovic", "Milan", jmb1, 1.75, 70, 23);
[...]

insertBack(p1, *lista);

insertBack 函数对我来说似乎是正确的,但我无法真正找到问题所在。预先感谢您。

最佳答案

instertBack 函数的第三行:if (l.back = NULL)
您可能想将其更改为: if (l.back == NULL)

关于c - 双链表中的访问冲突错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573371/

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