Junior
Yığın ve heap nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
- Yığın (Stack) - fonksiyon çağrıları sırasında yerel değişkenleri, fonksiyon parametrelerini ve dönüş adreslerini saklamak için kullanılan bellek alanıdır.
- Derleyici tarafından otomatik olarak yönetilir.
- Verilere erişim hızlıdır.
- Boyut, derleme sırasında sabittir (veya fonksiyon çağrısı sırasında belirlenir).
- Veriler LIFO (son giren ilk çıkar) sırasına göre eklenir ve kaldırılır.
- Yığın (Heap) - dinamik bellek ayırımı için kullanılan bellek alanıdır.
- Geliştirici tarafından manuel olarak yönetilir (örneğin,
alloc,mallocveya ARC/Swift'te sahiplik semantiği ile). - Verilere erişim, boş bellek bloklarını bulma gerekliliği nedeniyle daha yavaş olabilir.
- Boyut, program çalışırken değişebilir.
- Veriler herhangi bir sırayla eklenip kaldırılabilir.
- Geliştirici tarafından manuel olarak yönetilir (örneğin,
| Özellik | Yığın | Heap |
|---|---|---|
| Yönetim | Otomatik (derleyici) | Manuel/yarı-otomatik (ARC) |
| Erişim hızı | Hızlı | Potansiyel olarak daha yavaş |
| Boyut | Sabit/çağrı sırasında belirlenir | Çalışma sırasında değişebilir |
| Sıralama | LIFO | Rastgele |
| Saklama | Yerel değişkenler, parametreler, dönüş adresleri | Dinamik olarak tahsis edilen nesneler |