Probleme allocation tableau multidimensions
Bonjour j'ai un soucis avec mon allocation, cela ne fonctionne pas.
J'ai crée un .C pour allouer un tableaux a deux dimensions mais de caracteres
Voila la fonction :
Code:
1 2 3 4 5 6 7
| /* sa déclaration */
#ifndef ALLOCATION
#define ALLOCATION
char VALEO_Allocation(char **matrice, int NL, int NC);
#endif |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| /* le coude source */
char VALEO_Allocation(char ***matrice, int NL, int NC)
{
int i;
*matrice = ((char**)malloc(NL*sizeof(char*)));
for(i=0; i<NL; i++)
*matrice[i]= ((char*)malloc(100*NC*sizeof(char)));
return(*matrice);
} |
et mon main.c
Code:
1 2 3 4
|
char **tab[100]==NULL; /* je sais pas si le NULL est bien nécessaire ici*/
/* entre je fai une lecture de mon fichier pour connaitre le nb de ligne et de colonne exact du tableau */
VALEO_Allocation(&tab, nb_ligne, nb_colonne); |
Je rentre mon tableau en parametre de la fonction avec * car il va etre modifié a l'interieur de "VALEO_Allocation(&tab, nb_ligne, nb_colonne);"
Je fais un free du pointeur a la fin de mon main.
Voila les warning que VC++ me sort :
- warning C4028: formal parameter 1 different from declaration
- char' differs in levels of indirection from 'char **'
il me semble qu'en cours j'avais fait la meme chose pour un tableau a deux dimensions mais pour entiers et ca marchait.