销毁链表 如何删除链表?
浏览量:1097
时间:2021-03-17 08:49:17
作者:admin
如何删除链表?
这个关于链表的空间的释放是怎么回事,不是应该是while(p)吗?
所谓的链表就是用指针将内存中动态分配的节点空间链接到表中。因此,创建表的过程就是每次为新节点分配内存;因此,要释放空间,必须自始至终逐个释放节点,这样才能释放所有节点。此代码释放整个链表空间的内存;while循环的功能是从头到尾释放后续节点。如果直接释放(phead),后续节点将找不到,这将导致内存空间泄漏。此外,while循环中还有一个错误。假设在释放倒数第二个节点后,phead指向最后一个节点,最后一个节点的next为空,那么最后一个节点没有被释放,while退出。while循环应更正为:
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。