previous next Up Title Contents Index

Dynaaminen muistinhallinta

Edellisessä luvussa todettiin, että automatic-muuttujien tilanvaraukset tehdään ohjelman ajon aikana.
Varaukset samoin kuin muistialueiden vapauttamiset ovat automaattisia tapahtumia, joista ohjelmoijan ei tarvitse huolehtia.

Ohjelmoijalla on mahdollisuus kuitenkin varata ja vapauttaa muistia eksplisiittisesti.

C tarjoaa tähän tarkoitukseen funktiot malloc() ja free().

malloc()-funktiolla varataan muistia ja
free()-funktiolla vapautetaan malloc():lla varattu muistialue.

Varaukset tehdään muistialueelta, jota kutsutaan kasaksi (heap).
Se on muistialue, joka jää vapaaksi sen jälkeen, kun on varattu tilat exe-koodille sekä ohjelman data- ja pinoalueille.

malloc() ja free()
Dynaaminen taulukko

previous next Up Title Contents Index