注册 登录
编程论坛 C语言论坛

请问这个free(p)会不会释放1对应的内存

星系隐 发布于 2020-11-30 08:29, 1985 次点击
这个free(p)会释放[4,5,1,9]里1对应的内存吗?求指点!谢谢大家
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
4 回复
#2
请输入密码2020-11-30 11:39
这个代码答案是是的。
这代码有点意思,和传统删除代码有点出入,删除节意思上点是本节点,但实际上是删除下一个节点,并把下一个节点的值复制上来,从而等价于删除本节点。
#3
星系隐2020-11-30 21:57
回复 2楼 请输入密码
谢谢大哥,我感觉这个函数用途就是专门的删除下一个节点,不然怎么可能能把下一个节点作为参数提交过去,而不是提交某个值.
还有,大哥你说的一般的删除节点代码长什么样?能不能举个栗子?
#4
八画小子2020-12-01 00:17
理解本质,不要照猫画虎
#5
请输入密码2020-12-01 08:53
回复 3楼 星系隐
以下是引用星系隐在2020-11-30 21:57:25的发言:

还有,大哥你说的一般的删除节点代码长什么样?能不能举个栗子?

一般删除节点是传入的是上一个删除的节点。楼主提供的那个案例删除末节点会出问题。
还有,正规的删除节点代码通常都是用双向环链表的,那可以省去许多条件判断。
1