NİŞANTAŞI ÜNİVERSİTESİ Bilgisayar Programlama Göstericiler NİŞANTAŞI ÜNİVERSİTESİ © 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 ulaşılabilir. NİŞANTAŞI ÜNİVERSİTESİ ©
NİŞANTAŞI ÜNİVERSİTESİ © 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 0x1F00 hexadesimal olarak gösterilmiş int türden bir sabittir. Ancak: (int *) 0x1F00 NİŞANTAŞI ÜNİVERSİTESİ ©
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İ ©
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İ ©
NİŞANTAŞI ÜNİVERSİTESİ © kaynaklar Brian W. Kernighan , Dennis M. Ritchie, (1988), C Programlama Dili – ANSI C, DAISYSCIENCE, Editor: Dr. Rifat Çölkesen . Necati Ergin, C Ders Notları, C ve Sistem Programcıları Derneği NİŞANTAŞI ÜNİVERSİTESİ ©