Cow_B
Messages postés41Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 5 avril 2006
-
23 janv. 2004 à 22:39
Cow_B
Messages postés41Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 5 avril 2006
-
24 janv. 2004 à 12:46
Salut les gens !!!
Bon, une fois de plus j'ai besoin de m'en remettre à vous. J'ai fait un programme au sein duquel je fais une allocation dynamique. Lorsque je le compile, pas d'erreur, quand le programme tourne pas d'erreur, mais kan je sors du programme par contre, là il y a erreur...
Alors je voudrais savoir si mon allocation est correcte ?
long ***message_bin;
fflush(stdin);
gets(messag);
longueur = strlen(messag);
nb_iteration = iteration(longueur);
// Cette boucle alloue dynamiquement la première dimension du tableau message_bin.
message_bin = (long***)malloc(nb_iteration*sizeof(long));
for (i=0; i<nb_iteration; i++)
{
// Cette boucle alloue dynamiquement la seconde dimension du tableau message_bin.
message_bin[i] = (long**)malloc(4*sizeof(long));
for (j=0; j<4; j++)
{
// Cette boucle alloue dynamiquement la troisieme dimension du tableau message_bin.
message_bin[i][j] = (long*)malloc(8*sizeof(long));
}
}
Cow-B
-----------------------------------------------
C'est au pied du mur.... qu'on voit le mieux le mur
-----------------------------------------------
Cow_B
Messages postés41Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 5 avril 2006 24 janv. 2004 à 10:03
Bah le problème, c'est que lorsque je libère la mémoire Visual (.Net) me dit ke je fais un grave connerie.... Alors peut être ke je ne le fais pas correctement... enfin bref, ca couille un peu.
Mais sinon, je voudrais déjà savoir, si comme allocation dynamique, c'est correcte ?
Voilà ;) Merki
Cow-B
-----------------------------------------------
C'est au pied du mur.... qu'on voit le mieux le mur
-----------------------------------------------
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 24 janv. 2004 à 11:06
tu fait a chaque fois malloc(...*sizeof(long)) alors que quand tu alloue un long ***, c'est un espace pour long ** et pas long, enfin c'est comme ca que je vois le truc
message_bin = (long***)malloc(nb_iteration*sizeof(long**));
for (i=0; i<nb_iteration; i++)
{
// Cette boucle alloue dynamiquement la seconde dimension du tableau message_bin.
message_bin[i] = (long**)malloc(4*sizeof(long*));
for (j=0; j<4; j++)
{
// Cette boucle alloue dynamiquement la troisieme dimension du tableau message_bin.
message_bin[i][j] = (long*)malloc(8*sizeof(long));
}
}
Cow_B
Messages postés41Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention 5 avril 2006 24 janv. 2004 à 12:46
MMEERRCCII BEAUCOUP !!!!!!!!
Ca marche impec maintenant !!!! :big) :big) :big)
Cow-B
-----------------------------------------------
C'est au pied du mur.... qu'on voit le mieux le mur
-----------------------------------------------