Junior
Co je zásobník a halda?
sobes.tech AI
Odpověď od AI
- Zásobník (Stack) - je oblast paměti používaná pro ukládání lokálních proměnných, parametrů funkcí a adres návratu při volání funkcí.
- Je automaticky řízen kompilátorem.
- Přístup k datům je rychlý.
- Velikost je pevná během kompilace (nebo je určena při volání funkce).
- Data jsou přidávána a odstraňována v pořadí LIFO (poslední dovnitř, první ven).
- Heap (halda) - je oblast paměti používaná pro dynamické alokace paměti.
- Je ručně řízena vývojářem (například přes
alloc,mallocnebo vlastnictví v ARC/Swift). - Přístup k datům může být pomalejší kvůli hledání volných bloků paměti.
- Velikost se může měnit během běhu programu.
- Data mohou být přidávána nebo odstraňována v libovolném pořadí.
- Je ručně řízena vývojářem (například přes
| Vlastnost | Zásobník | Halda |
|---|---|---|
| Řízení | Automatické (kompilátor) | Ruční/polouzavřené (ARC) |
| Rychlost přístupu | Rychlý | Potenciálně pomalejší |
| Velikost | Pevná/určená při volání | Mění se během běhu programu |
| Pořadí | LIFO | Libovolné |
| Ukládá | Lokální proměnné, parametry, adresy návratu | Dynamicky alokované objekty |