Sobes.tech
Junior

Čo je zásobník a halda?

sobes.tech AI

Odpoveď od AI

  • Zásobník (Stack) - je oblasť pamäte, ktorá sa používa na ukladanie lokálnych premenných, parametrov funkcií a adries návratu počas volaní funkcií.
    • Je automaticky riadený prekladačom.
    • Prístup k údajom je rýchly.
    • Veľkosť je pevná počas kompilácie (alebo sa určuje pri volaní funkcie).
    • Dáta sa pridávajú a odstraňujú v poradí LIFO (posledný dovnútra, prvý von).
  • Heap (Hromada) - je oblasť pamäte používaná na dynamickú alokáciu pamäte.
    • Je riadená manuálne vývojárom (napríklad cez alloc, malloc alebo vlastnosti v ARC/Swift).
    • Prístup k údajom môže byť pomalší kvôli hľadaniu voľných blokov pamäte.
    • Veľkosť sa môže meniť počas behu programu.
    • Dáta môžu byť pridávané alebo odstraňované v ľubovoľnom poradí.
Vlastnosť Zásobník Hromada
Riadenie Automatické (prekladač) Rukoväť/čiastočne automatické (ARC)
Rýchlosť prístupu Rýchle Potenciálne pomalšie
Veľkosť Pevná/určená pri volaní Meniteľná počas behu programu
Poradie LIFO Náhodné
Ukladá Lokálne premenné, parametre, adresy návratu Dynamicky alokované objekty