Intern
Bir programda yığın ne için kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Yığın, bellek ve programın yürütme akışını yönetmek için kullanılır.
Ana amaçlar:
- Yerel değişkenlerin depolanması: Fonksiyonlar veya kod blokları içinde tanımlanan değişkenler yığına yerleştirilir ve kapsamlarının sonunda otomatik olarak serbest bırakılır.
- Fonksiyon çağrılarını yönetme: Bir fonksiyon çağrıldığında, dönüş adresi, argümanlar ve yerel değişkenler yığına konur. Fonksiyondan dönüşte bu veriler geri alınır.
- Yürütme bağlamını koruma: Yığın, programın mevcut durumu hakkında bilgi tutar ve iç içe çağrıları ve özyinelemeyi doğru şekilde işler.
- Undo/redo mekanizması: Bazı durumlarda, yığın, işlemleri geri alma/yineleme işlevselliği uygulamak için kullanılabilir, durum geçmişini saklar.
Bir fonksiyon yığın çerçevesi örneği:
// `myFunction(a: Int)` fonksiyonu çağrıldığında yığının görünümü
// Dönüş adresi (myFunction'dan sonra nereye dönülecek)
// `a` argümanının değeri
// myFunction'un yerel değişkenleri
Yığının özellikleri:
- LIFO (Last-In, First-Out): En son eklenen öğe ilk çıkar.
- Sabit boyut: Genellikle yığının sınırlı bir boyutu vardır, sistem tarafından belirlenir. Çok derin veya sonsuz özyinelemeli çağrılar, temel durum olmadan, yığın taşmasına (Stack Overflow) neden olur.
- Hızlı bellek tahsisi/serbest bırakma: Yığınla çalışma çok hızlıdır, çünkü öğeler bir uçtan (tepe) eklenir ve çıkarılır.
iOS geliştirmede, yığın, Swift ve Objective-C'de metodlar ve fonksiyonlar yürütülürken bellek yönetimi için aktif olarak kullanılır. Yerel değişkenler ve fonksiyon parametreleri yığına yerleştirilir. Bu, nesne sınıfları ve diğer dinamik olarak tahsis edilen veriler için kullanılan yığın (heap) belleğinden farklıdır.