我从Valgrind得到这个结果:
==24810== HEAP SUMMARY:
==24810== in use at exit: 0 bytes in 0 blocks
==24810== total heap usage: 9 allocs, 6 frees, 0 bytes allocated
==24810==
==24810== LEAK SUMMARY:
==24810== definitely lost: 0 bytes in 0 blocks
==24810== indirectly lost: 0 bytes in 0 blocks
==24810== possibly lost: 0 bytes in 0 blocks
==24810== still reachable: 0 bytes in 0 blocks
==24810== suppressed: 0 bytes in 0 blocks
它说没有内存泄露。在我看来,这是一个很好的结果。但是,这 9 个分配,6 个免费呢?看起来我没有在某处释放一些记忆。我检查了代码,有 3 个全局常量指针。也许它们不被视为错误,但打印为不自由?
我应该担心这个还是应该认为代码没有错误?谢谢大家。....只是试图理解 ANSI C 与指针和内存分配的所有麻烦 :)))
格言
在Valgrind网站 http://valgrind.org/docs/manual/quick-start.html#quick-start.interpret
"肯定丢失":您的程序正在泄漏内存 - 修复它!
"可能丢失":您的程序正在泄漏内存,除非您正在 带有指针的有趣事情(例如将它们移动到中间 的堆块)。
因此,对于您的情况,您的程序应该很好。