我有一个单词结构:
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;
}