gpt4 book ai didi

c - C 中的链表

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

我正在尝试用 C 语言创建一个链表,其中包含指向结构的指针。我的逻辑有问题。所以我想知道,当删除列表的头部时,我会返回删除的项目,或者,我会返回列表的新头部。另外,如果我要返回新的头,我将如何释放内存? (这部分用于赋值)根据赋值信息,我们不应该在函数中释放被移除的项目。所以是的,我的问题是,我应该在哪里释放内存?这是那段代码。我这里的代码只返回新的头部,如果列表为空则返回 NULL。

MusicRec * removeFromFront(MusicRec * theList)
{
if(theList == NULL)
{
return NULL;
}
return theList->next;
}

最佳答案

简单。每个分配函数都有一个伴随的释放函数,有时还有一整套额外的实用函数。在文档中查找您的分配器。

在您返回之前解除分配。这可能意味着您需要一份临时副本。

顺便说一句:您正在返回正确的值...

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

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