pointeur de tableau pour fonction void
Bonjour,
Ma question est la suivante : si je veux passer un tableau en paramètre d'une fonction et modifier ce tableau dans cette fonction, dois je utiliser un pointeur sur ce tableau ? ou je peux directement modifier ce tableau ?
Est ce que le fonctionnement pour les tableaux de caractères est le même ?
Voici mon code d'exemple qui donne une segmentation fault...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int *** allocationdynamique(int nbniveau, int nbligne, int nbcolonne)
{
int *** Matrice;
int i, j;
Matrice = (int ***) malloc (sizeof(*Matrice) * nbniveau);
for (i = 0; i < nbniveau; ++i)
{
Matrice[i] = (int **) malloc (sizeof(**Matrice) * nbligne);
for (j = 0; j < nbligne; ++j)
{
Matrice[i][j] = (int *) malloc (sizeof(***Matrice) * nbcolonne);
}
}
return Matrice;
}
void recuperationmatricegroupesgeneralisants(int** matricegroupegeneralisantA)
{
matricegroupegeneralisantA[0][1]=1;
}
void recuperationinfoFich(int*** matricegroupegeneralisantA)
{
matricegroupegeneralisantA=allocationdynamique(3, 3, 7);
recuperationmatricegroupesgeneralisants(matricegroupegeneralisantA[1]);
}
void main(int args, char **argv)
{
int*** matricegroupegeneralisantA;
recuperationinfoFich(matricegroupegeneralisantA);
} |
Merci !