08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

printf("%p\n", (char *)0x1AC0 + 1);<br />

printf("%p\n", (int *)0x1AC0 + 1);<br />

printf("%p\n", (double *)0x1AC0 + 1);<br />

printf("%d\n", &s[9] - &s[0]);<br />

printf("%d\n", &a[9] - &a[0]);<br />

printf("%d\n", &d[9] - &d[0]);<br />

}<br />

return 0;<br />

Adres değerlerinin karşılaştırılması<br />

Aynı blok üzerindeki iki adres, karşılaştırma işleçleriyle karşılaştırılabilir:<br />

#include <br />

int main()<br />

{<br />

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};<br />

int *ptr = a;<br />

}<br />

while (ptr < a + 10) {<br />

printf("%d ", *ptr);<br />

++ptr;<br />

}<br />

return 0;<br />

[] Köşeli Ayraç İşleci :<br />

Daha önce dizi elemanlarına erişmekte kullandığımız köşeli ayraç aslında iki terimli bir<br />

gösterici işlecidir. Köşeli ayraç işleci (index / subscript operator) işleç öncelik tablosunun<br />

en yüksek öncelik seviyesindedir. İşlecin birinci terimi köşeli ayraçtan önce yer alır. Bu<br />

terim bir adres bilgisi olur. İkinci terim ise köşeli ayraç içine yazılacak tam sayı türünden<br />

bir ifade olur.<br />

p[n]<br />

ifadesi ile<br />

*(p + n)<br />

tamamen eşdeğer ifadelerdir.<br />

Yani köşeli ayraç işleci, bir adresten n ilerideki nesneye erişmek için kullanılır. [] işleci ile<br />

elde edilen nesnenin türü terimi olan adresin türü ile aynı türdendir. Aşağıdaki programın<br />

ekrana ne yazdıracağını önce tahmine etmeye çalışın. Daha sonra programı derleyip<br />

çalıştırın:<br />

244

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!