Programlamada yığın kavramını nasıl açıklardınız?
sobes.tech yapay zeka
AI'dan gelen yanıt
Programlamada, yığın (heap), programın çalışma sırasında dinamik bellek tahsisi için kullanılan bir bellek alanıdır. Yığın, LIFO ilkesine göre otomatik olarak tahsis edilen ve serbest bırakılan yığın (stack) ile karşılaştırıldığında, burada programcı bellek tahsisini ve serbest bırakmasını kendisi kontrol eder (örneğin, C'de malloc/free veya otomatik yönetimli dillerde çöp toplayıcı aracılığıyla).
Yığın, çalışma zamanında yalnızca bilinen boyutta nesneler ve veri yapıları oluşturmayı ve bunları artık ihtiyaç duyulmadıklarında saklamayı sağlar. Örneğin, iOS'ta Objective-C veya Swift nesneleri genellikle yığında tahsis edilir ve bellek yönetimi ARC (Otomatik Referans Sayımı) aracılığıyla gerçekleşir.
Swift'te örnek:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Иван") // nesne yığında oluşturulur
Burada, Person nesnesi yığında oluşturulur ve person değişkeni bu nesneye referans içerir.