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

6. Global değişkenler global isim alanını kirletir. Bu noktaya ileride "bağlantı" kavramı ele<br />

alındığı zaman yeniden değinilecek.<br />

İşlevlerin Geri Dönüş Değerlerini Tutan Nesneler<br />

İşlevler geri dönüş değerlerini, geçici bir nesne yardımıyla kendilerini çağıran işlevlere<br />

iletir. Aşağıdaki programı inceleyin:<br />

#include <br />

int add(int x, int y)<br />

{<br />

return x + y;<br />

}<br />

int main()<br />

{<br />

int a, b, sum;<br />

printf("iki sayı girin: ");<br />

scanf("%d%d", &a, &b);<br />

sum = add(a, b);<br />

printf("toplam = %d\n", sum);<br />

}<br />

return 0;<br />

Bir işlevin geri dönüş değerinin türü aslında, işlevin geri dönüş değerini içinde taşıyacak<br />

geçici nesnenin türü demektir. Yukarıda tanımı verilen add isimli işlevin main işlevi<br />

içinden çağrıldığını görüyorsunuz. Programın akışı, add işlevi içinde return deyimine<br />

geldiğinde, geçici bir nesne yaratılır. Bu geçici nesne, return ifadesiyle ilkdeğerini alır.<br />

Yani return ifadesi aslında oluşturulan geçici nesneye ilkdeğerini veren ifadedir. Geri<br />

dönüş değeri üreten bir işleve yapılan çağrı, bu işlevin geri dönüş değerini içinde tutan<br />

geçici nesneyi temsil eder. Peki bu geçici nesnenin ömrü ne kadardır? Bu nesne, return<br />

deyimiyle yaratılır ve işlev çağrısını içeren ifadenin değerlendirilmesi sona erince yok<br />

edilir. Yani örnekteki main işlevi içinde yer alan<br />

sum = add(a, b);<br />

deyiminin yürütülmesinden sonra, geçici nesnenin ömrü de sona erer.<br />

100/529

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

Saved successfully!

Ooh no, something went wrong!