AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Heap und Stack - Unterschiede

Ein Thema von -187- · begonnen am 23. Aug 2011 · letzter Beitrag vom 27. Mai 2014
 
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Heap und Stack - Unterschiede

  Alt 23. Aug 2011, 21:42
Den Stack als Datenstruktur kannst du dir wie einen Stapel vorstellen.
Wenn du oben was draufgepackt hast (push) kannst du auch nur das oberste Element wieder runternehmen (pop) oder es dir anschauen (peek).

Der Stack als Speicherbereich ist in etwa so aufgebaut wie die gerade erwähnte Datenstruktur:
Mit den Assemblerbefehlen push und pop können Bytes draufgeschoben werden.
Entgegen der bildlichen Vorstellung eines Stapels wächst er jedoch nach unten.
Auf den Stack kommt alles, was verschachtelt wird:

> Funktion A wird aufgerufen mit Argument B
>> Return-Pointer kommt auf den Stapel
>> B kommt auf den Stapel
>> A macht was mit B
>> Funktion A wird rekursiv aufgerufen mit Argument C
>>> Return-Pointer kommt auf den Stapel
>>> C kommt auf den Stapel
>>> A macht was mit C
>>> Stapel wird bereinigt
>>> Return-Pointer wird gepopt
>> Stapel wird gereinigt
>> Return-Pointer wird gepopt
> und wir sind wieder im Hauptprogramm

Verstanden?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz