Un tableau, comme dit par Spiffou et un index. C'est le minimum.
int pile[50];
int i = 0;
pile[i++] = 5; // On empile
j = pile[--i]; // On dépile
Tu peux aussi te faire des fonctions push et pop pour savoir si, par exemple, la pile est plein ou vide etc.
Sinon, sera un peu dur de faire une pile dynamique si tu ne veux pas utiliser l'allocation dynamique.
C++ (@++)