J'ai une fonction qui réalise une allocation mémoire qui est la suivante.
Dans mon programme, je fais appel à cette fonction pour allouer une matrice.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int alloc_matrice_couts(int nbjobs, int** matrice_couts) { matrice_couts = (int**)malloc(nbjobs * nbjobs * sizeof(int)); if(matrice_couts == NULL){ perror("Erreur d'allocation mémoire (matrice des couts)"); return -1; } return 0; }
L'allocation a l'air de se passer correctement, mais lorsque j'essai d'accéder aux éléments de ma matrice j'obtient une erreur de segmentation, qu'elle est mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int** matriceCouts; if(alloc_matrice_couts(cfg.nbJobs, matriceCouts) == -1) return -1; /* mise a 0 de la diagonale */ for(i = 0; i < cfg.nbJobs; i++) matriceCouts[i][i] = 0; // C'est ici que ca plante
Merci.
Bouba
Partager