08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

Bir dizi tanımlaması ile karşılaşan derleyici, tanımlanan dizi için bellekte yer ayırır.<br />

Ayrılacak yer şüphesiz<br />

dizinin eleman sayısı * bir elemanın bellekte kapladığı yer<br />

kadar byte olur. Örneğin:<br />

int a[5];<br />

gibi bir dizi tanımlaması yapıldığını düşünelim. Windows işletim sisteminde çalışılıyorsa<br />

derleyici a dizisi için bellekte 4 * 5 = 20 byte yer ayırır.<br />

Dizi indis ifadelerinde ++ ya da -- işleçleri sık kullanılır:<br />

int a[20];<br />

int k = 10;<br />

int i = 5;<br />

a[k++] = 100;<br />

deyimiyle dizinin 10 indisli elemanına yani dizinin 11. elemanına 100 değeri atanıyor.<br />

Daha sonra k değişkeninin değeri 1 artırılarak 11 yapılıyor.<br />

a[--i] = 200;<br />

deyimiyle dizinin 4 indisli elemanına yani dizinin 5. elemanına 200 değeri atanıyor. Daha<br />

sonra i değişkeninin değeri 1 azaltılarak 4 yapılıyor.<br />

Köşeli ayraç işlecinin kullanılmasıyla artık dizinin herhangi bir elemanı diğer değişkenler<br />

gibi kullanılabilir. Aşağıdaki örnekleri inceleyin:<br />

a[0] = 1;<br />

a dizisinin ilk elemanına 1 değeri atanıyor.<br />

printf("%d\n", b[5]);<br />

b dizisinin 6. elemanının değeri ekrana yazdırılıyor:<br />

++c[3];<br />

c dizisinin 4. elemanının değeri 1 artırılıyor:<br />

d[2] = e[4];<br />

d dizisinin 3. elemanına e dizisinin 5. elemanı atanıyor:<br />

Diziler üzerinde işlem yapmak için sıklıkla döngü deyimleri kullanılır. Bir döngü deyimi<br />

yardımıyla bir dizinin tüm elemanlarına ulaşmak, çok karşılaşılan bir durumdur.<br />

Aşağıda SIZE elemanlı a isimli bir dizi için for ve while döngü deyimlerinin kullanıldığı bazı<br />

kalıplar gösteriliyor:<br />

a dizisinin bütün elemanlarına 0 değeri atanıyor:<br />

for (i = 0; i < SIZE; ++i)<br />

a[i] = 0;<br />

201

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

Saved successfully!

Ooh no, something went wrong!