当前位置:首页 > 内存 > 正文

链表的内存空间被释放

  • 内存
  • 2024-06-08 09:57:34
  • 9513

一、C语言释放链表内存的问题在创建链表的函数之后。否则很难做出判断。LNode和LinkList类定义也已发布
再次请求LNode和LinkList类定义!
从L->next的使用中,我了解到LinkList结构是一个指针类型,用于链接列表的头部。但是当你使用size的时候,也就是规则的size一般都是在4。也就是说,你本来的目的是应用buff结构体,但是结果是如果你应用了指针。sizebuf
如果LinkList是结构体类型,而不是指针类型,那么诸如s=L之类的语句就完全被误认为是局部变量。函数是从传入的堆栈中获取的,而不是丢弃的内容。所以你必须免费失败。


二、动态链表的释放,高手帮忙看看我看到你的head不是动态分配空间的,而是在程序编译的时候分配空间的。
而且如果你把头部和释放一起释放的话,就会出现问题。
LinkNode*pfind=NULL,*pfree=NULL;
pfind=&head;//pfind指向head
if(pfind!=NULL)
{
pfree=pfind;
pfind=pfind->next;
deletepfree;//这里会出现head释放的位置,但是head并不会动态分配空间。
}