2016 - 2024

感恩一路有你

二级指针动态分配内存 这个关于链表的空间的释放是怎么回事,不是应该是while(p)吗?

浏览量:1279 时间:2021-03-13 11:26:00 作者:admin

这个关于链表的空间的释放是怎么回事,不是应该是while(p)吗?

所谓链表就是用指针将内存中动态分配的节点空间链接到一个列表中。因此,创建表的过程就是每次为新节点分配内存;因此,要释放空间,必须自始至终逐个释放节点,这样才能释放所有节点。此代码释放整个链表空间的内存;while循环的功能是从头到尾释放后续节点。如果直接释放(phead),后续节点将找不到,这将导致内存空间泄漏。此外,while循环中还有一个错误。假设在释放倒数第二个节点后,phead指向最后一个节点,最后一个节点的next为空,那么最后一个节点没有被释放,while退出。while循环应更正为:

二级指针动态分配内存 指针所占空间的大小 释放指针所指内存空间

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。