En stack är en grupp eller liststruktur för funktionssamtal och parametrar som används i modern datorprogrammering och CPU-arkitektur. I likhet med en bunt med tallrikar på en bufférestaurang eller cafeteria, läggs till eller tas bort element i en bunt från toppen av bunten, i en "sist i första, första ut" eller LIFO-ordning.
Processen att lägga till data i en bunt kallas en "push", medan hämtning av data från en bunt kallas en "pop." Detta sker längst upp i bunten. En stapelpekare indikerar stapelns utsträckning, justerar när elementen skjuts eller poppas till en bunt.
När en funktion anropas skjuts adressen till nästa instruktion på bunten.
När funktionen går ut poppas adressen från bunten och körningen fortsätter på den adressen.
Det finns andra åtgärder som kan utföras på en stack beroende på programmeringsmiljön.
Stacken är också känd som "Last In First Out (LIFO) ".
Exempel: I C och C ++ lagras variabler som deklarerats lokalt (eller auto) på bunten.