Partage
  • Partager sur Facebook
  • Partager sur Twitter

Listes chainées

13 août 2021 à 11:29:49

Bonjour à tous, 

Dans le chapitre sur les listes chainées, la fonction d'initialisation est celle-ci:

Liste *initialisation()
{
    Liste *liste = malloc(sizeof(*liste));
    Element *element = malloc(sizeof(*element));

    if (liste == NULL || element == NULL)
    {
        exit(EXIT_FAILURE);
    }

    element->nombre = 0;
    element->suivant = NULL;
    liste->premier = element;

    return liste;
}

Mais je n'arrive pas à comprendre la présence de l'étoile devant "initialisation()" au niveau de la premiere ligne. 

Pouvez-vous m'éclairer ? 

Bien à vous

  • Partager sur Facebook
  • Partager sur Twitter
13 août 2021 à 11:47:12

L'étoile veux dire que ta fonction renvoi un pointeur sur une Liste.
  • Partager sur Facebook
  • Partager sur Twitter
...
13 août 2021 à 11:50:02

Ah d'accord 

Merci beaucoup pour votre réponse ! 

  • Partager sur Facebook
  • Partager sur Twitter
13 août 2021 à 16:54:14

Je ne crois pas que ce soit une bonne idée que de placer un élément dont la valeur soit 0 à l'initialisation.
Tu devrais pouvoir gérer des listes ne contenant aucun élément.
On ferait  liste->premier = NULL;
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

13 août 2021 à 17:02:56

PierrotLeFou a écrit:

Je ne crois pas que ce soit une bonne idée que de placer un élément dont la valeur soit 0 à l'initialisation.

C'est la fonction du cours, ça ne va pas faciliter son apprentissage, si veux continuer sur ce cours.



  • Partager sur Facebook
  • Partager sur Twitter
13 août 2021 à 17:43:46

En effet, je ne crois pas que ce cours soit le meilleur.
Exiger qu'un élément soit présent au départ empêche la personne de vérifier si le pointeur vers le premier est NULL ou pas.
Si on ajoute des éléments, le premier sera toujours un   élément parasite.
Il serait préférable d'inclure le nombre d'éléments de la liste dans le descripteur de liste.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.