Una estructura de datos estática como una pila implementada con un arreglo no puede cambiar de tamaño durante la ejecución, mientras que una estructura dinámica como una pila implementada con una lista enlazada simple puede extenderse según sea necesario. Un desbordamiento ocurre cuando se intenta insertar un elemento en una pila llena y un subdesbordamiento cuando se intenta eliminar un elemento de una pila vacía.