请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于函数的参数需要传双重指针的原因

根据老师在前面的课程所解释的,形参实际上是一份拷贝,如果这么说的话,直接使用node作为参数的话,即DestoryNode(ListNode *node)这种形式的话,那么分析内存发生泄漏的情况是不是像下面的图中所画的:

图片描述
所以使用指针作为参数的话,像0x1234这一块内存来说,它的next指针指向NULL,它本身也是被调用了free()函数进行释放的,但是由于main()函数的node这个指针没有指向NULL发生了内存泄漏

正在回答

1回答

main 函数中的 node 没有指向 NULL 不会内存泄露,但 node 变成了悬挂指针或者野指针,如果后续意外地使用了 node 这个指针,会出现内存错误。
1 回复 有任何疑惑可以回复我~
  • 提问者 三尺357159 #1
    所以使用双重指针就是为了避免因为变量的拷贝而导致野指针的产生
    回复 有任何疑惑可以回复我~ 2024-03-05 18:33:52
  • 精慕门5506314 回复 提问者 三尺357159 #2
    回复 三尺357159:难道不是为了减小返回时拷贝的开销吗
    回复 有任何疑惑可以回复我~ 2024-05-11 23:27:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信