为什么我分配的块多于堆中分配的块?

时间:2019-07-13 23:00:53

标签: c hashtable cs50

我正在研究pset4- speller -hashtable。在这里,我展示了valgrind产生的一部分。因此,不会释放一个内存块。我在malloc()和freed()上都运行了一个计数器,但结果是相同的,即字典-143091中的单词数。

但是valgrind在HEAP摘要中显示我已分配143097次。但是堆不是用来动态分配内存的吗,我认为我只是在使用malloc()做的。我声明的其他指针可能在堆栈上。这是怎么回事?

WORDS MISSPELLED:     955
WORDS IN DICTIONARY:  143091
WORDS IN TEXT:        17756
TIME IN load:         2.41
TIME IN check:        0.88
TIME IN size:         0.03
TIME IN unload:       0.19
TIME IN TOTAL:        3.50

==19623== 
==19623== HEAP SUMMARY:
==19623==     in use at exit: 32 bytes in 1 blocks
==19623==   total heap usage: 143,097 allocs, 143,096 frees, 8,023,448 bytes allocated
==19623== 
==19623== LEAK SUMMARY:
==19623==    definitely lost: 0 bytes in 0 blocks
==19623==    indirectly lost: 0 bytes in 0 blocks
==19623==      possibly lost: 0 bytes in 0 blocks
==19623==    still reachable: 32 bytes in 1 blocks
==19623==         suppressed: 0 bytes in 0 blocks

0 个答案:

没有答案