Structure dans une structure (en C)

Salut !

En fait j'ai créer mes strucutres : (Ca c'est juste l'amuse gueule, c'est pour un autre programme un peu plus consistant avec une histoire de liste chainées bien sur, sinon c'est pas drole.)

typedef struct Reponse
{
int numRep;

struct Reponse *nextRep;

}Reponse;

typedef struct Liste
{

char Chaine[3];

struct Liste * pSuivant;

struct Reponse TeteRep;

}Liste;
Et en fait, je voudrais accèder au champ numRep.
Mais comment ? ^^'
J'ai tenté ça : Nouveau.TeteR.numRep = 5;, mais sans succès.

Donc si quelqu'un peut me filer un coup de main, ça serait cool ! merci :)

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Finalement j'ai trouvé, mais mon problème est ailleurs maintenant.

    if (strchr(Nouveau->Chaine,'a') != NULL)
    {
    TeteR = (struct Reponse*)malloc(sizeof(struct Reponse));
    TeteR = NULL;
    Nouveau->TeteRep =*TeteR;
    Nouveau = (struct Liste*)malloc(sizeof(struct Liste));
    TeteR->numRep = 5;
    printf("%d",(Nouveau->TeteRep).numRep);
    }
    En fait, je me prends systématiquement un Seg Fault, mais je ne vois pas comment faire autrement.

    Une idée ?
    1. Salut,
      Comme ceci, ça devrais le faire.
      { 
        Liste *tete;
        
        tete = malloc(sizeof(Liste));
        tete->TeteRep.numRep = 5;
        printf("%d \n", tete->TeteRep.numRep);
        free(tete);
      }
      

      A++

      C'est pas parce qu'ils sont nombreux à avoir tort
      qu'ils ont raison! (COLUCHE)
      1. Trop tard :-)

        C'est pas parce qu'ils sont nombreux à avoir tort
        qu'ils ont raison! (COLUCHE)
      2. @RavacholJ'étais sceptique mais ça marche bel est bien !
        Merci m'sieur ! :-)
      3. @RavacholDe rien.
        Ca marche parceque la structure Reponse qui est dans la structure Liste n'est pas un pointeur ;-)

        A++

        C'est pas parce qu'ils sont nombreux à avoir tort
        qu'ils ont raison! (COLUCHE)