我开始学习来自Java背景的C语言。我的第一个玩具程序是二叉搜索树。我已经实现了add,find,min,max,depthfirst和delete。我的问题源于删除方法。
为了调试我将树(深度优先)打印到控制台,然后我使用删除删除节点并再次打印bst。如果它是Java,我会把它称为一天继续前进,但我担心在某个地方我忘了释放一些记忆(或者我以为我做了但是把错误的指针或其他东西释放了)。
作为新手C程序员,检测这些内存泄漏的最佳方法是什么?我正在使用CLion作为我的IDE,如果有我应该在IDE中使用的工具,但我更喜欢一些不依赖于IDE的技巧。
答案 0 :(得分:2)
我理解你的担忧,我记得一个在我的家用桌面上执行得很好的本科项目,但在TA的笔记本电脑中产生了内存泄漏。那时我甚至无法想象......
之后我开始使用Valgrind来检查内存泄漏。如果Valgrind说我们很酷,我会说我们很酷并称之为一天!