Una pila es una matriz o estructura de listas de llamadas a funciones y parámetros utilizados en la programación moderna de computadoras y la arquitectura de CPU. Similar a una pila de platos en un restaurante buffet o cafetería, los elementos en una pila se agregan o eliminan de la parte superior de la pila, en un orden de "último en entrar, primero en salir" o LIFO.
El proceso de agregar datos a una pila se denomina "inserción", mientras que la recuperación de datos de una pila se denomina "pop". Esto ocurre en la parte superior de la pila. Un puntero de pila indica la extensión de la pila, ajustándose a medida que los elementos se empujan o hacen estallar en una pila.
Cuando se llama a una función, la dirección de la siguiente instrucción se inserta en la pila.
Cuando la función sale, la dirección se saca de la pila y la ejecución continúa en esa dirección.
Hay otras acciones que se pueden realizar en una pila según el entorno de programación..
La pila también se conoce como "Último en entrar, primero en salir (LIFO) ".
Ejemplos: en C y C ++, las variables declaradas localmente (o automáticas) se almacenan en la pila.