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 />

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

for (k = 0; k < COL; ++k)<br />

printf("%2d ", a[i][k]);<br />

printf("\n");<br />

}<br />

}<br />

return 0;<br />

Yukarıdaki kodu inceleyin. a dizisi 10 elemanlı int türden dizilerin oluşturduğu bir dizidir.<br />

Yani a[0] bu dizilerden ilkine ve a[4] bu dizilerden sonuncusuna karşılık gelir.<br />

a[0] bu dizilerden ilkine karşılık geldiğine göre a dizisinin ilk elemanı olan 10 elemanlı<br />

dizinin örneğin 5 indisli elemanına<br />

a[0][5]<br />

biçiminde ulaşılabilir, değil mi? Köşeli ayraç işlecinin birinci öncelik seviyesinde ve soldan<br />

sağa doğru öncelik yönüne sahip bir işleç olduğunu anımsayın.<br />

Böyle bir iki boyutlu diziye, problem düzlemindeki karşılığı olarak, yani bir matris olarak<br />

bakıldığında, bu matriste yer alan ilk eleman<br />

a[0][0]<br />

nesnesidir. Bu nesne matrisin 1. satır ve 1. sütununda yer alan nesnedir. Matrisin son<br />

elemanı ise<br />

a[4][9]<br />

nesnesidir. Bu nesne matrisin 5. satır ve 10. sütununda yer alan nesnedir. Matristeki ilk<br />

nesnenin adresi int türden bir göstericiye atanıp bu gösterici sürekli artırılırsa, matristeki<br />

tüm elemanların adresleri elde edilerek son elemanın adresine ulaşılabilir. Şimdi<br />

yukarıdaki örneğe bir ekleme yapalım:<br />

int main()<br />

{<br />

int a[ROW][COL];<br />

int i, k;<br />

int *ptr;<br />

srand(time(0));<br />

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

for (k = 0; k < COL; ++k)<br />

a[i][k] = rand() % 100;<br />

/********/<br />

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

for (k = 0; k < COL; ++k)<br />

printf("%2d ", a[i][k]);<br />

printf("\n");<br />

}<br />

printf("***********************************************\n");<br />

ptr = &a[0][0];<br />

312

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

Saved successfully!

Ooh no, something went wrong!