Dinamik Bellek Yönetimi

Dinamik Bellek Yönetimi, C Programlama Dilinde önem derecesi en yüksek konulardan biri olsa gerek. Bu denli önemli olmasının sebebi sınırsız belleğimimizin olmamasıdır. Sınırsız belleği olan varsa bu yazıyı okumaktan derhal vazgeçebilir. Burada önemli olan belleği verimli kullanabilmektir. Belleği verimli kullanabilmek her programcının amacı olmalıdır. Eğer programcı bellek yönetimini iyi yapamıyorsa daha fazla belleğe ihtiyaç duyar. Daha fazla belleğe ihtiyaç duymak belli başlı birkaç sorunu beraberinde getirir. Fazla maliyet, programın yavaş çalışması bunların en önemlileridir. Yavaş çalışan ve gereğinden fazla bellek tüketen bir programı müşteri niçin kullansın ki ?

Dinamik bellek yönetiminin bir başka yararından bahsedecek olursak, bir dizi tanımlarken

char ad[20];

gibi bir ifade kullandığımızda derleyici bellekten 20 byte boyutunda sürekli bir alan tahsis edecektir. Bu yer tahsisi program başlatılmadan önce yapılmaktadır. Yani programın akışı içerisinde bu dizinin boyutunu değiştirmeniz mümkün değildir. Oysa ki yeri geldiğinde bellekten boyutu sabit olmayan ve sürekli değişebilen yerler tahsis etmemiz gerekecek. Bir örnek vermek gerekirse : bir kütüphaneye gelen ziyaretçilerin listesini tutmak için bellekten tahsis edeceğiniz bölgenin boyutunu önceden tahmin edebilir misiniz ? Tahmin edemeyeceğiniz için her ziyaretçi geldiğinde bellekte ayırdığınız yeri büyüterek belleği en verimli şekilde kullanabilirsiniz. Yani dinamik bellek yönetimi ile programın çalışma zamanı sırasında(Run-Time) -işletim sistemine danışarak- sürekli bellek bölgeleri tahsis edebiliriz.

Arama
RSS
Beni yukari isinla