最近在学习链表时遇到一个常见的错误
代码如下 功能为删除链表中的最小值节点
举个例子
在代码中让首节点q直接后移一位,然后释放最前面的节点,乍一看没什么问题
但此时遍历节点p还在原地未移动但p所在位置节点已被释放,导致p成为野指针无法继续遍历
在释放后重新将遍历节点赋值,此处continue因为已经释放一个节点,所以跳过下一环节遍历,即可解决问题
总结:删除链表时,如果删除节点所在位置与遍历节点相同,在释放该节点后应重新对遍历节点进行赋值
VS:引发了异常: 读取访问权限冲突。 **p** 是 0xFFFFFFFFFFFFFFFF。
于 2022-05-12 23:37:11 首次发布