C语言链表问题

删除节点出现错误。编译都通过了。但是感觉我的思路没错额……求大神们指点一下吧

54d89ec50001e79c04100275.jpg

54d89ec50001f57b05000302.jpg


牛奶遇到巧克力
浏览 1811回答 1
1回答

乔葱葱

你执行free操作时,p和tail2的值是一样的,也就是说p和tail2指向的是同一内存空间,那么你free了tail2指向的内存空间之后,又通过p->next访问了这片空间,当然就会出错了。如果你要通过next继续访问下一节点,那么在free之前就要取出这个值来。
打开App,查看更多内容
随时随地看视频慕课网APP