Structures, listes chainees en C
Fermé
nulle00
Messages postés
21
Date d'inscription
dimanche 15 juin 2008
Statut
Membre
Dernière intervention
8 juillet 2008
-
8 juil. 2008 à 22:53
George - 9 juil. 2008 à 12:06
George - 9 juil. 2008 à 12:06
A voir également:
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte.
- Suivi des modifications Word : comment l'utiliser - Guide
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- A quoi sert le mode avion - Guide
- Mode sécurisé samsung - Guide
1 réponse
Bonjour,
il te faut trouver la personne (enfin son emplacement) ensuite il faut parcourir la liste de ses adresses en gardant en mémoire l'adresse en cours et l'adresse precedente. Une fois que ton adresse en cours est null, tu alloue (fct malloc) une struture de type adresse (tu la remplit) et tu la mets dans l'adresse precedente .
typedef struct personne
{
char nom[20];
int age;
struct adress*tete_adresse;
struct personne* next;
}
En gros :
1) tu recupere l'emplacement de la personne (de type *personne)
2) tu parcours ses adresses pour arriver en fin de liste avec une adresse *encours et adresse *precedente
encours=personne->tete_adresse;
precedente=NULL;
while(encours!=NULL)
{precedente=encours
encours->next
}
//A la sortie predente represente ton dernier maillon de ta liste chaine adresse
tu alloue une adresse et remplit sa structure puis le retour de malloc tu l'as met dans precedente
Bon courage
il te faut trouver la personne (enfin son emplacement) ensuite il faut parcourir la liste de ses adresses en gardant en mémoire l'adresse en cours et l'adresse precedente. Une fois que ton adresse en cours est null, tu alloue (fct malloc) une struture de type adresse (tu la remplit) et tu la mets dans l'adresse precedente .
typedef struct personne
{
char nom[20];
int age;
struct adress*tete_adresse;
struct personne* next;
}
En gros :
1) tu recupere l'emplacement de la personne (de type *personne)
2) tu parcours ses adresses pour arriver en fin de liste avec une adresse *encours et adresse *precedente
encours=personne->tete_adresse;
precedente=NULL;
while(encours!=NULL)
{precedente=encours
encours->next
}
//A la sortie predente represente ton dernier maillon de ta liste chaine adresse
tu alloue une adresse et remplit sa structure puis le retour de malloc tu l'as met dans precedente
Bon courage