Voila, je veux créer une grille (tableau de tableau) d'une structure. Le code est assez clair je crois, mes je n'arrive pas à accéder aux élèments de la structure:
Code :
 - typedef struct {
 - 	int x;
 - 	int y;
 - 	int etat; // 0 = mort ; 1 = vivant
 - 	}t_Cellule;
 
  | 
 
Code :
 - int** InitialiserGrille(void)
 - {
 - 	int i,j;
 - 	int **grille;
 - 	if ((grille = malloc(COLONNE*sizeof(t_Cellule*))) == NULL)
 - 	{
 -   fprintf(stderr,"Erreur lors de l'allocation\n" );
 -   exit(EXIT_FAILURE);
 - 	}
 - 	for (i =0;i<COLONNE;i++){
 -   grille[i] =malloc(LIGNE*sizeof(t_Cellule));
 - 	}
 - 	for (i=0;i < LIGNE;i++){
 -   for (j=0;j <COLONNE;j++){
 -   	//*(grille[i][j]).etat = 0;
 -   	/*grille->cellule[i][j].y = j;
 -   	grille->cellule[i][j].etat = 0;*/
 -   }
 - 	}
 - 	return grille;
 - }
 
  | 
 (La partie qui pose probleme est la partie commentée)
 Si je fais "grille[i][j].etat = 0;", la compilation retourne :
main.c: In function 'InitialiserGrille':
main.c:36: error: request for member 'etat' in something not a structure or union
 Si je fais "	grille[i][j]->etat = 0;"
main.c: In function 'InitialiserGrille':
main.c:36: error: invalid type argument of '->'
 
Message édité par boblenain200 le 01-03-2009 à 14:07:23