/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Heapen vs stakken ?
Fra : HHD
Vist : 620 gange
20 point
Dato : 27-09-01 19:42

Er der en der kan give en kort, dansk forklaring på
- stakken
- heapen
samt hvad forskellen er ?

 
 
Kommentar
Fra : Nyhedsbruger


Dato : 27-09-01 18:49

Den Thu, 27 Sep 2001 17:42:06 GMT skrev HHD:
>Er der en der kan give en kort, dansk forklaring på
>- stakken
>- heapen
>samt hvad forskellen er ?

Det er måske lektier til imorgen?

Mvh
Kent
--
8:16pm up 2:37, 1 user, load average: 101.21, 95.46, 55.85
164 processes: 62 sleeping, 102 running, 0 zombie, 0 stopped

With XMMS tugging along nicely, playing Vivaldi...

Accepteret svar
Fra : Nyhedsbruger

Modtaget 30 point
Dato : 27-09-01 20:05

Det er ikke nemt at komme med en meget kort forklaring på disse, men jeg vil
forsøge

Stakken har sit navn af, at der er tale om et dataområde, hvor data kun kan
placeres og hentes i en bestemt rækkefølge kaldet: sidste ind, første ud.
Det vil sige, at hvis du har lagt værdierne

A1
A2
A3

ind på stakken, vil de blive hentet som

A3
A2
A1

Det er smart til at lagre data for procedurekald ind på denne måde. Når en
procedure kaldes, ligges parametrene ind på stakken. Når proceduren
afsluttes, fjernes disse parametre fra stakken og når den kaldende procedure
afsluttes, fjernes disse osv.

Rent programmæssigt er der tale om et præallokeret dataområde, hvor en peger
afgører hvor data kan ligges ind og data fjernes ved at flytte pegeren
tilbage på stakken.

Heap'en er et dataområde, hvor dataområder kan allokeres. Heapmanageren er
derfor et memory booking system, hvor data kan reserveres når det skal
bruges og reservationen skal ligeledes fjernes, når hukommelsen ikke længere
skal bruges. I sprog som C, C++ osv. gøres dette af applikationsprogrammøren
(malloc/free, new/delete). I Java skal applikationsprogrammøren kun
reservere hukommelsen, da Java har mekanismer til at detektere om
hukommelsen stadig er i brug (refereres til).

Håber at du blev lidt klogere.


--
Best regards

Soeren Dalby
www.dalbydata.dk


"Kent Friis" <kfr@fleggaard.dk> wrote in message
news:9ovopm$2ln$1@sunsite.dk...
> Den Thu, 27 Sep 2001 17:42:06 GMT skrev HHD:
> >Er der en der kan give en kort, dansk forklaring på
> >- stakken
> >- heapen
> >samt hvad forskellen er ?
>
> Det er måske lektier til imorgen?
>
> Mvh
> Kent
> --
> 8:16pm up 2:37, 1 user, load average: 101.21, 95.46, 55.85
> 164 processes: 62 sleeping, 102 running, 0 zombie, 0 stopped
>
> With XMMS tugging along nicely, playing Vivaldi...



Kommentar
Fra : Nyhedsbruger


Dato : 27-09-01 20:29

Det er ikke nemt at komme med en meget kort forklaring på disse, men jeg vil
forsøge

Stakken har sit navn af, at der er tale om et dataområde, hvor data kun kan
placeres og hentes i en bestemt rækkefølge kaldet: sidste ind, første ud.
Det vil sige, at hvis du har lagt værdierne

A1
A2
A3

ind på stakken, vil de blive hentet som

A3
A2
A1

Det er smart til at lagre data for procedurekald ind på denne måde. Når en
procedure kaldes, ligges parametrene ind på stakken. Når proceduren
afsluttes, fjernes disse parametre fra stakken og når den kaldende procedure
afsluttes, fjernes disse osv.

Rent programmæssigt er der tale om et præallokeret dataområde, hvor en peger
afgører hvor data kan ligges ind og data fjernes ved at flytte pegeren
tilbage på stakken.

Heap'en er et dataområde, hvor dataområder kan allokeres. Heapmanageren er
derfor et memory booking system, hvor data kan reserveres når det skal
bruges og reservationen skal ligeledes fjernes, når hukommelsen ikke længere
skal bruges. I sprog som C, C++ osv. gøres dette af applikationsprogrammøren
(malloc/free, new/delete). I Java skal applikationsprogrammøren kun
reservere hukommelsen, da Java har mekanismer til at detektere om
hukommelsen stadig er i brug (refereres til).

Håber at du blev lidt klogere.


--
Best regards

Soeren Dalby
www.dalbydata.dk
"HHD" <HHD.news@kandu.dk> wrote in message
news:qtJs7.703$Mk2.64625@news000.worldonline.dk...
> Er der en der kan give en kort, dansk forklaring på
> - stakken
> - heapen
> samt hvad forskellen er ?
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>





Kommentar
Fra : Nyhedsbruger


Dato : 27-09-01 21:57

[Snip forklaring]

Sprogligt:

Stakken kaldes en stak fordi den er en stak.
Heapen kaldes en heap fordi den er en bunke.

--
Jens Axel Søgaard




Godkendelse af svar
Fra : HHD


Dato : 01-10-01 12:12

Tak for svaret Soeren Dalby.
                        

Kommentar
Fra : Nyhedsbruger


Dato : 02-10-01 14:01

Det var så lidt - håber at du kunne bruge det


--
Best regards

Soeren Dalby
www.dalbydata.dk


"HHD" <HHD.news@kandu.dk> wrote in message
news:mfXt7.3$lB3.237@news000.worldonline.dk...
> Tak for svaret Soeren Dalby.
>
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407841
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste