Re: [Forum] Dynamisk allokering i C

From: Henrik Brix Andersen <brix@gimp.org>
Date: Sat Jun 14 2003 - 13:33:09 CEST

Hej Sofie,

On Sat, 2003-06-14 at 13:24, Sofie Lykke Sørensen wrote:
> Er der nogen, der ved, hvad forskellen på de dynamisk
> allokeringsfunktioner calloc() og malloc() er? Jeg ved at calloc()
> initialiserer den allokerede plads til nul, og det gør malloc() ikke.

Det er så vidt jeg ved den eneste forskel.

> Men hvad betyder det helt præcist, at den allokerede plads
> initialiseres til nul? Hvor gøres dette, er det i memory? Hvad er
> fordelen ved at gøre dette, frem for at bruge malloc()?

Med et kald til calloc () bliver den allokerede hukommelse initialiseret
til "0". Dvs. at på alle de pladser i den del af RAM'en, som bliver
afsat ved allokeringen, sættes hver bit til logisk 0. Den reserverede
hukommelse indeholder altså ikke længere "garbage" men den kendte værdi
0.

Dette er en fordel hvis man både ønsker at allokere hukommelsen og
initialisere den til en kendt værdi.

> Jeg ville blive super glad for et hurtigt svar, da jeg skal til
> eksamen på mandag.

Pøj-pøj med eksamen - håber at ovenstående hjalp til forståelsen.

Mvh
./Brix
PS: du læse mere i manual-siden for calloc (), "man calloc"

-- 
Henrik Brix Andersen <brix@gimp.org>
Received on Sat Jun 14 13:33:10 2003

This archive was generated by hypermail 2.1.8 : Tue Jul 19 2005 - 16:04:49 CEST