2016-04-21 12 views
0

Ich habe eine Struktur von Worten:Wie Array von Strukturen malloc ohne Größe zu wissen

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

und ich möchte eine Reihe von diesen malloc aber ich weiß nicht, wie groß die Größe sein. Gibt es eine Möglichkeit, ein Array von Strukturen zu malloc zu machen, ohne vorher die Größe des Arrays zu kennen?

Danke.

+3

heh? Wenn Sie die Größe nicht kennen, wozu sollten Sie Speicher reservieren? –

+0

_Bitte klären Sie Ihr spezifisches Problem oder fügen Sie zusätzliche Details hinzu, um genau zu markieren, was Sie brauchen. Wie es derzeit geschrieben wird, ist es schwer zu sagen, was genau Sie fragen. Informationen zur Klärung dieser Frage finden Sie auf der Seite [Ask] ._ –

Antwort

3

Sie können mit malloc(), Speicher zuweisen und dann Größe ändern mit 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; 
} 
Verwandte Themen