Junior
Stack və yığın nədir?
sobes.tech Süni İntellekt
AI-dan cavab
- Yığım (Stack) - funksiyaların çağırılması zamanı yerli dəyişənləri, funksiyaların parametrlərini və dönüş ünvanlarını saxlamaq üçün istifadə olunan yaddaş sahəsidir.
- Avtomatik olaraq kompilyator tərəfindən idarə olunur.
- Məlumatlara giriş sürətlidir.
- Həcmi tərtib zamanı sabitdir (və ya funksiyanın çağırılmasında müəyyən edilir).
- Məlumatlar LIFO (son daxil olan, ilk çıxar) qaydasında əlavə olunur və silinir.
- Heap (Yığım) - dinamik yaddaş ayırması üçün istifadə olunan yaddaş sahəsidir.
- İstifadəçi tərəfindən əl ilə idarə olunur (məsələn,
alloc,mallocvə ya ARC/Swift-də mülkiyyət semantikasını istifadə etməklə). - Məlumatlara giriş daha yavaş ola bilər, çünki sərbəst yaddaş bloklarını tapmaq lazımdır.
- Həcmi proqramın icrası zamanı dəyişə bilər.
- Məlumatlar istənilən qaydada əlavə və ya silinə bilər.
- İstifadəçi tərəfindən əl ilə idarə olunur (məsələn,
| Xüsusiyyət | Yığım | Heap |
|---|---|---|
| İdarəetmə | Avtomatik (kompilyator) | Əl ilə/yarı-otomatik (ARC) |
| Giriş sürəti | Sürətli | Potensial olaraq daha yavaş |
| Həcmi | Sabit/çağırış zamanı müəyyən edilir | Dəyişkən proqram icrası zamanı |
| Sıralama | LIFO | Təsadüfi |
| Saxlama | Yerli dəyişənlər, parametrlər, dönüş ünvanları | Dinamik təyin olunan obyektlər |