previous next Up Title Contents Index

Pinosegmentti

Funktioiden paikalliset muuttujat ja parametrit ovat olemassa vain silloin, kun funktioita suoritetaan.
Tilat näille muuttujille ja parametreille varataan ohjelman pinoalueelta.
Tila varataan silloin, kun muuttuja tulee tarpeelliseksi eli kun tullaan lohkoon, jossa muuttuja on määritelty.
Tila vapautetaan, kun muuttujaa ei enää tarvita eli kun poistutaan lohkosta, jossa muuttuja on määritelty.
Pinoalue on näin ollen dynaamisessa käytössä olevaa muistia, jonka käyttö ja tilantarve vaihtelevat ohjelman suorituksen aikana.
On huomattava, että muuttujat sijaitsevat aliohjelmien eri kutsukerroilla yleensä eri paikoissa.
On huomattava, että vaikka käytössä olevan pinoalueen koko vaihtelee ohjelman suorituksen aikana, pinosegmentillä on kiinteä tilanvaraus.
Tästä voi olla seurauksena pinon ylivuoto, mikä tarkoittaa tilannetta, jossa kaikki tarvittavat aliohjelmien muuttujat eivät enää mahdu pinoon. Tällaiseen tilanteeseen voidaan joutua esim. ohjelmointivirheen seurauksena.

previous next Up Title Contents Index