Une pile est un tableau ou une structure de liste d'appels de fonction et de paramètres utilisés dans la programmation informatique moderne et l'architecture CPU. Semblable à une pile d'assiettes dans un restaurant buffet ou une cafétéria, les éléments d'une pile sont ajoutés ou retirés du haut de la pile, dans un ordre «dernier entré, premier sorti» ou LIFO.
Le processus d'ajout de données à une pile est appelé «push», tandis que la récupération de données à partir d'une pile est appelée «pop». Cela se produit en haut de la pile. Un pointeur de pile indique l'étendue de la pile, s'ajustant lorsque des éléments sont poussés ou sautés dans une pile.
Lorsqu'une fonction est appelée, l'adresse de l'instruction suivante est poussée sur la pile.
Lorsque la fonction se ferme, l'adresse est extraite de la pile et l'exécution se poursuit à cette adresse.
Il existe d'autres actions qui peuvent être effectuées sur une pile en fonction de l'environnement de programmation.
La pile est également connue sous le nom de "Last In First Out (LIFO) ".
Exemples: En C et C ++, les variables déclarées localement (ou auto) sont stockées sur la pile.