cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 20 janv. 2004 à 18:26
L'allocation dynamique permet d'allouer de la mémoire à une donnée pour que tu puisse l'utiliser selon tes envie et la libérer dès que tu n'en n'a plus besoin. Ainsi, tu optimise la mémoire utilisée, mais attention de bien libérer la mémoire, sinon elle n'est plus vraiment optimisée !
malloc est la fonction la plus utilisée pour l'allocation dynamique.
realloc permet de réallouer de la mémoire allouée avec malloc par exemple pour étendre la mémoire.
calloc, je ne connais pas, jamais utilisé !
DarK Sidious
[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 20 janv. 2004 à 18:40
void* calloc(size_t nobj, size_t size)
calloc retourn une pointeur sur un espace mémoire réservé à un tableau de nobj objets, tous taille size, ou bien NULL si cette demande ne peut pas être satisfaite. La mémoire allouée est initialisée par des zéros.
Moi non plus je n'ai jamais utilisé ca. J'imagine que
void* p = calloc(nobj, size);
est équivalent (le résutat en tout cas) à
void* p = malloc(nobj * size);
memset(p, 0, nobj * size);
n'oublie pas a chaque fois de libérer ta mémoire avec free()