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