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.

C Programlamada Structure – Yapılar

Herkese selamlar bu yazımda C Programlama Dilinde önemli bir yeri olan Struct yapıları hakkında bildiklerimi yazmak istiyorum. Yapıları kullanarak farklı tipteki verileri (int,char) aralarında belirli bir ilişki bulunmak şartıyla birarada tutabiliyoruz. Bir öğrencinin bilgilerini ele alırsak, adı soyadı, numarası, yaşı vs. gibi bilgiler birbiri ile ilişkili olduğundan hepsini belirli bir yapı altında kullanmak oldukça mantıklı değil mi ?

Aslında mantıksal olarak dizilere oldukça benziyen bu yapılar, dizilerin biraz daha gelişmiş versiyonu diyebiliriz. Öyle ki, dizilerde aynı tipten verileri bellekte sürekli bir şekilde saklıyabiliyorken, yapılarda farklı tipten verileri de sürekli bir şekilde saklayabiliyoruz. Bu yazdıklarımı bir giriş olarak kabul edersek, yapıların bildirimleri ve değişkenlerinin tanımlanması ile devam edelim.

C’de Kelimeyi Ascii Koduna Göre Sıralama

Bu program ile yazdığınız bir kelimenin harflerini alfabetik olarak sıralayabiliyorsunuz. Mesela “cemdemir” yazdığınız zaman “cdeeimmr” elde edebilirsiniz.

C’de Girilen Kelimenin Tersini Bulan Program

Başlıktan da anlaşıldığı gibi program, girilen kelimenin tersini bulup gösteriyor. Yine öğretici bir program.

Arama
RSS
Beni yukari isinla