Petite question liste chainé [C]

Fermé
samir - 27 janv. 2009 à 00:16
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 janv. 2009 à 08:09
Bonjour,
la déclaration de la liste chainé se faite comme sa
#include <stdlib.h>

typedef struct element element;
struct element
{
int val;
struct element *nxt;
};

typedef element* llist;

j'arrive pas a comprendre le principe
svp s'il ya qqn je veux une explication simple est détaillé ,
c koi le role de la premier structure
et de la deuxieme
et comment et pourkoi on associe les deux structure
svp repondez moi
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
27 janv. 2009 à 00:44
Salut,
Tout d'abord on crée un typedef. L'avantage est que pour déclarer une variable de type struct element, la notation sera allégée. Tu pourras omettre le mot-clé struct.
Ensuite tu crées ladite structure. Cette dernière contiendra une case de type int : sa valeur et un pointeur vers un autre struct element. C'est ce pointeur là qui fait en sorte qu'on a une liste chaînée.
Et enfin, le dernier typedef pour encore alléger la notation. Ainsi le type llist sera perçu par le compilateur comme un pointeur vers le type element.

A chaque fois, que tu voudras insérer un élément à ta liste, tu devras allouer dynamiquement une case (element) dont son adresse sera pointée par le pointeur nxt de ta structure element.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
27 janv. 2009 à 08:09
Salut,

Un petit tutoriel qui pourra peut être t'aider Liste simplement chaînée
0