在遍历链表时正确释放元素的方法是:使用临时变量存储下一个元素的地址。
这样就可以安全的地在任何时候释放当前元素,不必担心在取下一个元素的地址时还要引用它。
代码如下:(注意for执行的顺序)
struct node *p, *start, *tmp;
for(p=start; p; p=tmp){
tmp = p->next;
delete(p);
p = NULL;
}
前提是链表最后的 next被赋值为NULL了,要不然即使 p最后没有数据了还是会执行下去的。
快捷操作:
坚其志,苦其心,劳其力,事无大小,必有所成。
@如有侵权,请作者本人尽快与我(chrayo#163.com)联系,我将及时删除侵权内容。

浙公网安备 33010602011771号