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

为什么链表使用完之后要释放内存

  • 内存
  • 2024-07-25 15:58:05
  • 4588

一、求问链表的内存释放问题这个小程序是正确的:
让temp指向第一个节点,
让node指向下一个节点,
释放temp指向的第一个节点,
重复。
问题在于你对指针的理解。
free(temp);即使临时值没有用,*temp指向的节点空间对:
temp=node;temp和node都指向下一个要释放的节点。这是完全正确的。
这就是理解的问题!!!
注释2:发布后不需要temp=NULL。temp是一个野指针,但只要你不访问*temp单位,就可以了。
---------------------------------------------
指针概念很混乱!
原引1:刚刚释放的节点指向下一个节点。这个节点和未发布的节点有什么区别?链表之间的连接根本没有改变或者消失!-->这是我的第一个问题。希望专家能给我一些建议。
temp指向的单元*temp已被释放,但temp本身仍然存在。这只是一个野指针。别混淆了。*这是temp和temp之间的概念差异。