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,mallocalebo 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í.
- Je riadená manuálne vývojárom (napríklad cez
| 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 |