structurgröße dynamisch?
-
Hi, wie kann ich die Structur größe dynmaisch verändern??
also
struct Vertex { float x; float y; float z; }m_Vertex[3];
so is die struct ja nur 3 Felder groß. Ich möchte aber, das das dynamisch ist, halt dynamsiche Speicherverwaltung, nur wie geht des bei structs??
-
realloc
-
Version 1:
struct Vertex { float x; float y; float z; }; int main(..) { Vertex *V; V = malloc (sizeof(Vertex) * 3); ... V = realloc (V, sizeof(Vertex) * 4); ... free (V); return 0; }
Version 2:
struct Vertex { float x; float y; float z; Vertex *Next; }; int main(..) { Vertex *V,*C; V = new Vertex; ... C = new Vertex; V->Next = C; ... delete C; ... return 0; }
der rest erfordert nur ein wenig Gehirnschmalz und Vorsicht beim Pointer verbiegen..
-
ich würde das so machen:
struct Vertex { float x; float y; float z; }; struct Vertex *pvertex; int anzahl=3; //oder was auch immer pvertex==malloc(anzahl*sizeof(struct Vertex)); anzahl = 5; pvertex==realloc(pvertex,anzahl*sizeof(struct Vertex));
mfg