Allocation d'un tableau dynamique 2D
Bonjour,
Je cherche à faire une allocation dynamique d'un tableau à deux dimensions.
J'ai écrit deux fonctions:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void alloc2D(long** tab, long lig, long col)
{
long cpt = 0;
tab = (long**) malloc (sizeof(long*) * lig);
for(cpt = 0; cpt<lig; cpt++)
tab[cpt] = (long*) malloc (sizeof(long) * col);
}
void free2D(long** tab, long lig, long col)
{
long cpt = 0;
for(cpt = lig; cpt>0; cpt--)
if(tab[cpt] != NULL) free(tab[cpt]);
free(tab);
} |
Et j'essaye de les utiliser comme ca:
Code:
1 2 3 4 5 6
|
long **tab = NULL;
// les valeurs e lig et col sont entrées par l'utilisateur
alloc2D(tab, lig, col);
// utilisation du tableau
free2D(tab, lig, col); |
Mais ça ne marche pas du tout... Ca compile sans problème mais j'ai une erreur "le programme doit fermer, blabla..." J'ai besoin de votre aide :D
Merci d'avance.