Structure dans une structure (en C)
StarNab
-
Ravachol Messages postés 568 Statut Membre -
Ravachol Messages postés 568 Statut Membre -
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 :)
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
-
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 ? -
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)