Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tutoriel sur les piles

Petit problème de compréhension

Sujet résolu
    28 novembre 2008 à 20:08:21

    Bonjour,
    Je suis entrain de lire le tuto de Octal sur les piles et les files, je comprend le principe, mais je bloque sur un détail.
    Dans les fonctions du tutoriel, on envoie en paramètres
    void pile_push(Pile **p_pile, int donnee);
    

    Je ne comprend pas pourquoi **p_pile. Si je ne me trompe pas, on envoie un tableau comprenant tout les éléments de la pile.
    En quoi cela est-il utile ? Pourquoi n'envoie-t-on pas seulement le sommet de la pile ?

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2008 à 20:21:50

      Attention, cette pile n'est pas un tableau, c'est une liste chainée.
      Le sommet de la pile (comme les autres maillons de la chaine) sont des données de type structure Pile. L'ensemble de la pile est référencé dans le programme qui l'utilise par une variable de type Pile* qui contient l'adresse du sommet de la pile.

      Lorsqu'on souhaite ajouter un élément dans la pile, on la place au sommet de cette pile. Il faut donc que cette fonction soit capable de modifier cette variable de type Pile* qui pointe sur le sommet de la pile, afin de la faire pointer sur le nouveau sommet qui va être créé. Et comme tu le sais, pour pouvoir modifier dans une fonction le contenu d'une variable appartenant à l'appelant, il faut donner l'adresse de cette variable... et l'adresse d'un Pile* n'est autre qu'un Pile**.
      • Partager sur Facebook
      • Partager sur Twitter

      Tutoriel sur les piles

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown