human
Pile (Programmation) Qu'est-ce qu'une pile en programmation, je n'ai pas rencontré cela dans ma propre programmation mais je l'ai ailleurs. Explique comme si j'avais cinq ans.
gpt
Une pile peut être prise littéralement. Supposons que vous ayez une pile de papiers (une pile organisée, l'une au-dessus de l'autre). Vous pouvez mettre un autre papier au-dessus de la pile d'origine (pousser) ou en prendre un du haut (pop). Cependant jamais du bas ou du milieu, car la pile « s'effondrerait » (principe Last In, First Out). Il en va de même pour la programmation. Vous pouvez faire en sorte qu'une pile contienne des données ( c'est une structure de données ) à analyser ( comme des chaînes , des entiers , etc . ) ou vous pouvez les visualiser comme dans cette Simple Stack Machine . ( URL_0 ) . Fondamentalement, toutes vos instructions sont mises sur une pile pour être manipulées. Exemple : LDC 2 LDC 3 ADD Cela met ( saute ) ' 2 ' sur la pile , puis ' 3 ' . La commande ' ADD ' prend ( saute ) les deux du haut ( ou dans ce cas le lit de bas en haut ) et les ajoute pour retourner ( pousser ) le résultat au sommet de la pile . ~~Je ne suis pas sûr à 100 % à ce sujet , mais chaque fois que vous rencontrez un débordement de pile , cela signifie simplement qu'il y a trop de " commandes " sur la pile , car un programme se voit attribuer une taille maximale ( la pile de papiers peut ne monte pas plus haut que le toit).~~ /u / lobsang_ludd m'a corrigé ici . Le débordement de pile signifie en fait que la * pile d'appels * est trop grande. [ Lobsang_ludd ] ( URL_1 ) sur la pile d'appel : > Il s'agit d'une pile qui est généralement maintenue automatiquement pour prendre en charge les procédures appelant d'autres procédures - lorsque cela se produit, nous devons nous rappeler qui nous a appelés et comment reprendre cette procédure une fois que nous avons terminé , donc nous regroupons l'état (variables, etc.) de la procédure appelante avec le point en mémoire à partir duquel nous devons reprendre et le plaçons sur la pile des appels. Lorsqu'une procédure revient, elle sort de l'élément supérieur de la pile des appels afin que l'ordinateur sache ce qui doit se passer ensuite. Edit : mise en forme Edit #2 : Ajout d'une petite correction qui a été commentée [ci-dessous] (URL_1).