我从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个allocs,6个free呢?我好像没有在某个地方释放一些记忆。我检查了代码,有3个全局常量指针。也许他们不被认为是错误,但印刷的不是免费的?
我应该担心这个还是应该考虑无代码窃听?
谢谢大家。
……只是试图理解ansi c在指针和内存分配方面的所有麻烦:))
箴言

最佳答案

在Valgrind网站http://valgrind.org/docs/manual/quick-start.html#quick-start.interpret
“绝对丢失”:你的程序正在泄漏内存——修复它!
“可能丢失”:你的程序正在泄漏内存,除非你正在
有指针的有趣的事情(比如把指针移到中间
堆块)。
所以对你来说你的程序应该是好的。

09-11 19:32