NANTAI NVERSTES BILGISAYAR PROGRAMLAMA GSTERICILER Mhendislik Mimarlk Fakltesi
NİŞANTAŞI ÜNİVERSİTESİ BILGISAYAR PROGRAMLAMA GÖSTERICILER Mühendislik Mimarlık Fakültesi mmf. nisantasi. edu. tr NİŞANTAŞI ÜNİVERS İTESİ ©
GÖSTERICILER • Adres Kavramı • Adres kavramı hem donanıma hem de yazılıma ilişkindir. Donanımsal açıdan adres bellekte yer gösteren bir sayıdan ibarettir. Mikroişlemci bellekte bir bölgeye ancak o bölgenin adres bilgisiyle erişebilir. Bellekte (RAM'de) her byte diğerlerinden farklı bir adresle temsil edilir. Sıfır sayısından başlayarak her byte’a artan sırada bir karşılık getirerek elde edilen adresleme sistemine doğrusal adresleme sistemi (linear addressing), bu sistem kullanılarak elde edilen adreslere de doğrusal adresler denilmektedir. Donanımsal olarak RAM'deki her bir byte'a okuma ya da yazma yapma amacıyla NİŞANTAŞI ÜNİVERSİTESİ © ulaşılabilir.
GÖSTERICILER • Adresler tamsayı görünümünde olsalar da tamsayı sabitleri gibi belirtilmezler. Çünkü tür bilgilerinin de belirtilmesi gerekir. Adres sabitleri, tamsayı türlerindeki sabitler üzerinde bilinçli tür dönüşümü yapılarak elde edilirler. Bir tamsayı sabitini adres türüne çevirmek için tür dönüştürme operatörü kullanılır. • (<tür> *) <tamsayı sabiti> • Tür dönüştürme operatörünün içindeki * adres ya da göstericiyi temsil etmektedir. • Örneğin • 0 x 1 F 00 • hexadesimal olarak gösterilmiş int türden bir sabittir. Ancak: • (int *) 0 x 1 F 00 NİŞANTAŞI ÜNİVERSİTESİ ©
GÖSTERICILER • Adres Kavramı • Adres kavramı hem donanıma hem de yazılıma ilişkindir. Donanımsal açıdan adres bellekte yer gösteren bir sayıdan ibarettir. Mikroişlemci bellekte bir bölgeye ancak o bölgenin adres bilgisiyle erişebilir. Bellekte (RAM'de) her byte diğerlerinden farklı bir adresle temsil edilir. Sıfır sayısından başlayarak her byte’a artan sırada bir karşılık getirerek elde edilen adresleme sistemine doğrusal adresleme sistemi (linear addressing), bu sistem kullanılarak elde edilen adreslere de doğrusal adresler denilmektedir. Donanımsal olarak RAM'deki her bir byte'a okuma ya da yazma yapma amacıyla ulaşılabilir. NİŞANTAŞI ÜNİVERSİTESİ ©
GÖSTERICILER • Adres Değerlerinin Ekrana Yazdırılması • standart printf fonksiyonu ile doğla veri türlerinden ifadelerin değerlerinin ekrana yazdırılabileceğini biliyorsunuz. Bir ifadenin değerini ekrana yazdırmak için, printf fonksiyonula birinci arguman olarak geçilen string içinde önceden belirlenmiş format karakterlerinin kullanıldığını hatırlayın. Acaba bir adres bilgisi de uygun bir format karakteri kullanılarak ekrana yazdırılabilir mi? Evet! printf fonksiyonunda bu amaç için %p format karakteri kullanılır. %p format karakteri ile eşlenen arguman bir adres bilgisi ise, printf fonksiyonu ilgili adres bilgisinin yalnızca sayısal bileşenini onaltılık sayı sisteminde ekrana yazdıracaktır. Aşağıdaki programı derleyerek çalıştırınız: NİŞANTAŞI ÜNİVERSİTESİ ©
KAYNAKLAR 1. Brian W. Kernighan , Dennis M. Ritchie, (1988), C Programlama Dili – ANSI C, DAISYSCIENCE, Editor: Dr. Rifat Çölkesen. 2. Necati Ergin, C Ders Notları, C ve Sistem Programcıları Derneği NİŞANTAŞI ÜNİVERSİTESİ ©
- Slides: 6