2 mogelijke allocaties voor array

Status
Niet open voor verdere reacties.

skelesp

Nieuwe gebruiker
Lid geworden
21 sep 2006
Berichten
2
Beste,

Ik zit met een kleine vraag: ik zou in mn C-programma een array willen declareren waarvan de lengte afhangt van het verloop van het programma (ofwel array[900] ofwel array[400]). Is er een makkelijke manier om dit te programmeren? De array moet ook exact 400 of 900 lengte hebben, dus steeds 900 gebruiken is niet echt een oplossing vrees ik.

alvast bedankt
 
Dat kan met malloc/realloc/free en pointers.

bv, je wilt een array van 400 en later 900 integers:

Code:
int *pInts = (int*) malloc(400 * sizeof(int));

// Later "resizen", realloc zorgt ervoor dat de bestaande data gekopieerd wordt naar de eventuele nieuwe locatie in het geheugen
pInts = (int*) realloc(pInts, 900 * sizeof(int));

// Aan het einde geheugen weer vrijmaken
free(pInts);
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan