Set array-Größe zur Laufzeit

Ich weiß, wie man ein Struktur-array innerhalb einer Funktion:

typedef struct item
{
    int test;
};

void func (void) 
{
    int arraysize = 5;
    item ar[arraysize];  
}

Aber wie kann ich die gleichen, wenn das array ist Global definiert:

typedef struct item 
{
    int test; 
};

item ar[];

void func (void)
{
    int arraysize = 5;
    //What to here?
}
Verwenden malloc().
Ich wusste von malloc() wird eine Lösung, aber ich hoffte, es war eine sauberere Methode.
Welche Art von "klarer" Lösung? malloc() ist auch gut so. Dies ist genau der Fall, es wurde erfunden für.
Wann ist die array-Größe, bekannt geworden?

InformationsquelleAutor Muis | 2013-01-12

Schreibe einen Kommentar