Bonjour.
Dans mon main je déclare
Ensuite j'appelle la fonction laquelle je veux allouer T
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int ** T = NULL;
Dans lecture je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 lecture (& T);
Et au quatrième passage de la boucle j'ai une erreur de segmentation.
Code : 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 void lecture (int Nb, int *** pT) { int i; /* Allocation du tableau contenant les dimensions des objets Nb est le nombre d'objets. */ *pT = malloc ( Nb * sizeof ( int * ) ); assert (*pT); for (i = 0; i < Nb; i++) { *pT[i] = malloc ( 2 * sizeof ( int ) ); assert (*pT[i]); }
Savez-vous pourquoi ?
Si oui, pouvez-vous m'indiquer comment m'y prendre dans la boucle ?
Merci à tous ceux qui prendront le temps de me lire.
PS : Je sais que je pourrais me contenter d'utiliser le return de la fonction pour renvoyer l'adresse de ma matrice (technique plus simple que je maîtrise déjà) mais je veux maîtriser cette technique en passant l'adresse de ma matrice en param.
Partager