Salut !


J'ai un problème incroyablement idiot qui me prend la tête depuis des heures

Voilà, je déclare un tableau de int à 2D (initialisé à NULL) au lancement de mon prog; je le passe en paramètre à une fonction dans laquelle il va être alloué à sa "vraie" dimension. Or, au sortir de cette fonction, lors d'une affectation de valeur à une case du tableau, BOUM, big plantage !!! Et je vois absolument pas où ça cloche ...


Ci-dessous, j'ai mis le code le plus épuré possible :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
int main()
{
  int * * graphe = NULL;
  initgraphe( graphe);
  graphe[0][0]=9;  
  return 0;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
void initgraphe( int * * graphe )
{
  int i;
  graphe = malloc( 7 * sizeof( int * ) );
  for ( i = 0; i < 7; i++ )
  {
    graphe[i] = malloc( 7 * sizeof( int ) );
  }
};

Si vous voyez ce qui cloche ...