Liste en C
Fermé
linkcr15
-
30 avril 2011 à 19:22
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 30 avril 2011 à 20:46
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 30 avril 2011 à 20:46
A voir également:
- Liste en C
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- 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. - Guide
- Liste groupe whatsapp - Guide
- Liste site streaming illégal - Accueil - Services en ligne
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 30/04/2011 à 20:13
Modifié par KX le 30/04/2011 à 20:13
Ton type ne définit pas une liste ! Il faut que le type s'appelle récursivement pour ça...
La confiance n'exclut pas le contrôle
#include <stdlib.h> typedef struct _liste // définition d'un maillon d'une liste { int n; // la valeur du maillon _liste* succ; // un maillon de liste connaît son successeur dans la liste } *Liste; // pour plus de commodité, on définit un type Liste const size_t size_Liste = (sizeof _liste); // taille à allouer pour un maillon int main() { Liste liste = (Liste) malloc(size_Liste); // allocation mémoire d'un maillon liste->n = 5; // définition de la valeur du maillon liste->succ = NULL; // définition du maillon suivant (ici aucun) free(liste); // libération de la mémoire du maillon return 0; }
La confiance n'exclut pas le contrôle
linkcr15
Messages postés
362
Date d'inscription
mercredi 7 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2016
12
30 avril 2011 à 19:56
30 avril 2011 à 19:56
Désolé, je n'ai peut être pas était trés clair. En fait je posais deux questions dans un seul topic.
En fait une liste d'entiers se définit par une liste chaînée en C?
Est-ce qu'il est possible d'avoir des commentaires sur les lignes que tu me donnes stp? Je ne comprends pas ce que ces commandes font. Merci pour ta réponse en tout cas.
En fait une liste d'entiers se définit par une liste chaînée en C?
Est-ce qu'il est possible d'avoir des commentaires sur les lignes que tu me donnes stp? Je ne comprends pas ce que ces commandes font. Merci pour ta réponse en tout cas.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
30 avril 2011 à 20:08
30 avril 2011 à 20:08
Alors oui on peut faire des typedef de typedef, en fait le typedef est utilisé sur un type et donne un nouveau type donc ce nouveau type peut très bien servir à en définir encore un nouveau.
Par contre T_case n'est pas un type généré par typedef, mais par struct, si tu veux créer un type qui englobe le tout tu dois le mettre entre l'accolade et le point-virgule, ce qui du coup va peut-être régler ton problème :
Pour les listes chaînées je vais rajouter des commentaires ^^
Par contre T_case n'est pas un type généré par typedef, mais par struct, si tu veux créer un type qui englobe le tout tu dois le mettre entre l'accolade et le point-virgule, ce qui du coup va peut-être régler ton problème :
typedef struct T_case // T_case est un struct { int lig, col; } L_Case; // L_Case est le typedef de struct T_case
Pour les listes chaînées je vais rajouter des commentaires ^^
linkcr15
Messages postés
362
Date d'inscription
mercredi 7 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2016
12
30 avril 2011 à 20:17
30 avril 2011 à 20:17
Ok je te remercie pour cette précision sur les définitions de type et sur mon erreur dans mon code =)
30 avril 2011 à 20:30
Mais si je veux faire une liste pour les entiers de 1 à 9 je ne vois pas vraiment comment faire =/
Avec un for ou un while avec liste->succ = n++; ?
30 avril 2011 à 20:46