C语言 如何在不知道大小的情况下对结构数组进行 malloc



我有一个单词结构:

typedef struct {
   char *word;
   unsigned long occurrences;
} Word;

我想对其中的数组进行 malloc,但我不知道大小会有多大。有没有办法在事先不知道数组大小的情况下对结构数组进行 malloc?

谢谢。

您可以使用

malloc()分配内存,然后使用realloc()更改大小

typedef struct {
 char *word;
 unsigned long occurrences;
} Word;
int main()
{
  Word *arr = malloc(sizeof(Word) * n);
  // do smth
  // need more
  arr = realloc(arr, sizeof(Word) * more);
  return 0;
}

相关内容

  • 没有找到相关文章

最新更新