Allocations dynamiques

djkill55 Messages postés 33 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 26 mars 2004 - 20 janv. 2004 à 17:37
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 - 21 janv. 2004 à 13:01
kelkun pourait m expliker rapidement a koi serve les allocation dynamike et k elle est la diference entre:
calloc
malloc
realloc

j arrive pa a comprendre....
mercib

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 janv. 2004 à 17:45
C'est pas dans MSDN ?
BruNews, ciao...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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]
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
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()
0
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
21 janv. 2004 à 13:01
t imagines bien
Vecchio56
Chevalier Pheno Starboard, membre de la Freeman-Corp
0
Rejoignez-nous