Junior — Middle
Yığın veri yapısı ile heap bellek alanı arasındaki farkları açıklayın.
sobes.tech yapay zeka
AI'dan gelen yanıt
Yığın, LIFO (son giren ilk çıkar) prensibiyle çalışan bir veri yapısıdır. Programlamada yığın, genellikle yerel değişkenleri depolamak ve fonksiyon çağrılarını yönetmek için kullanılır. Sabit boyutlu bir bellek alanı olarak düzenlenmiştir ve veriler yalnızca bir uçtan — yığının tepesinden — eklenir ve kaldırılır.
Heap (yığın) ise, derleme aşamasında boyutu ve yaşam süresi bilinmeyen nesneleri ve verileri depolamak için kullanılan dinamik bellek alanıdır. Heap'teki bellek, genellikle C'de malloc/free veya C++'ta new/delete operatörleri kullanılarak dinamik olarak tahsis edilir ve serbest bırakılır.
Ana farklar:
- Bellek yönetimi: Yığın otomatik olarak yönetilir (örneğin, bir fonksiyondan çıkarken yerel değişkenler silinir), heap ise açık yönetim veya çöp toplayıcı gerektirir.
- Boyut: Yığın genellikle sınırlıdır, heap ise çok daha büyüktür ve daha esnektir.
- Hız: Yığın işlemleri daha hızlıdır, çünkü sadece gösterici hareketi söz konusudur, heap işlemleri ise boş blok araması nedeniyle daha yavaştır.
iOS'ta kullanım örneği:
- Yerel değişkenler ve fonksiyon parametreleri yığında saklanır.
- Objective-C ve Swift'te dinamik olarak oluşturulan nesneler heap'te yer alır.