我有一个程序可以计算文本文件中的单词出现次数并将它们存储在一个数组中.到目前为止,我正在使用固定数组,一切正常但现在我想将其更改为动态数组,因此永远不会浪费/需要任何内存.我知道必须使用malloc和realloc来实现这一点,但我真的不明白如何去做.
我的第一个想法是简单地计算文本文件中的单词然后malloc足够的空间为所有这些,但这将留下浪费的空间,因为重复的单词将有一个计数器增加,但不会再次添加到数组.
这种方法听起来有道理并且是实现它的最佳方式吗?如果我首先malloc一个小数组就足以找到一个单词及其计数器.然后每当我找到一个需要添加到数组的新单词时,只需重新分配足以适合另一个单词和计数器.如果它是重复的,则不需要realloc,因为现有的计数器只会递增.