Bonjour,

Je cherche à faire une allocation dynamique d'un tableau à deux dimensions.
J'ai écrit deux fonctions:

Code c : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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

Merci d'avance.