Arrays og Pointere
- slide 28 : 30
Dynamisk lagerallokering (2)
Eksplicit
allokering
med
calloc
eller
malloc
fra fra
stdlib.h
calloc(n, m)
Allokerer et nulstillet array med
n
elementer på hver
m
bytes.
malloc(n)
Allokerer
n
bytes, som ikke nulstilles.
Funktionerne returnerer generiske pointere.
Check altid returværdien af
calloc
og
malloc
for at se om allokeringen lykkes.
Eksplicit
deallokering
med funktionen
free
.
Risiko for
dangling references
.
Hvis en pointer til et dynamisk allokeret objekt følges efter at objektet er deallokeret med
free
.
I mange moderne sprog styres lager deallokering af en
garbage collector
, som frigiver lagerplads, når det ikke længere kan tilgås af programmet.