Seuraavaksi muutetaan edellä esitettyä ohjelmaa siten, että pinon koko määrätään ohjelman ajon aikana.
Pino toteutetaan edelleen taulukkona, jossa pinon alkiot ovat peräkkäisissä muistipaikoissa. Ratkaisun etuna sen lisäksi, että pinon koko voidaan määritellä ajon aikana, on se, että eri pinoille voidaan määrätä erilaiset koot.
Seuraavaksi esitetään edellisestä esimerkistä muokattu ohjelma kokonaisuudessaan.
Ohjelman osat esitetään tyypillisestä C-kielisten ohjelmien kirjoitusjärjestyksestä poiketen järjestyksessä esittelyt (=tyypit, funktioiden prototyypit), määrittelyt (funktioiden toteutukset) ja käyttö (pääohjelma). Tämä järjestys kuvaa asioiden etenemistä ohjelmankehitysprosessissa.
![]() | Tietorakenteet (ja muut määrittelyt) |
![]() | Pinon alustaminen |
![]() | Alkion vienti pinoon |
![]() | Alkion poistaminen pinosta |
![]() | Pinon tyhjentäminen |
![]() | Sovellus |