Tableau dynamique C

Fermé
jojolafrite - 26 sept. 2010 à 00:13
 JD - 26 sept. 2010 à 14:26
Bonjour,

Je voudrais savoir comment redimensionner, à la volée, on the fly, au runtime, la taille d'un tableau en C. Bref en cours d'éxécution

A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 sept. 2010 à 00:49
Bonjour,

Il suffit d'allouer une zone dans le tas avec malloc/calloc. La réallocation se passera avec realloc : https://www.microsoft.com/en-us/download/details.aspx?id=55979

Cdlt,
0
Dès que tu as besoin de modifier la taille de ton tableau dans ton programme, utilise realloc().

MAN :

void *realloc (void *ptr, size_t size);

realloc() modifie la taille du bloc de mémoire pointé par
ptr pour l'amener à une taille de size octets. realloc()
conserve le contenu de la zone mémoire minimum entre la
nouvelle et l'ancienne taille. Le contenu de la zone de
mémoire nouvellement allouée n'est pas initialisé. Si ptr
est NULL, l'appel de realloc() est équivalent à mal­
loc(size). Si size vaut zéro, l'appel est équivalent à
free(ptr). Si ptr n'est pas NULL, il doit avoir été
obtenu par un appel antérieur à malloc(), calloc() ou
realloc().
0