28.02.2015 Views

Ders 1: Giriş

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 C++) programlama dilinde fonksiyon parametreleri değer geçerek (pass by value) yada<br />

adres geçerek (pass by reference) olarak geçilebilir. Bu şekilde geçirilen parametreler,<br />

fonksiyon içersinde değiştirilse bile, fonksiyon çağılıldıktan sonra bu değişim çağrılan yerdeki<br />

değerini değiştirmez. Fakat, bir parametre adres geçerek aktarılısa, fonksiyon içindeki<br />

değişikler geçilen parametreyi etkiler. Adres geçerek aktarım, gösterici kullanmayı zorunlu<br />

kılar.<br />

Örneğin, Program 11.5'de fonksiyonlara değer ve adres geçerek aktarımın nasıl yapılacağı<br />

gösterilmiştir.<br />

Program 11.5: Bir değişkenin içeriğini ve adresini ekrana yazdırma<br />

01:<br />

02:<br />

03:<br />

04:<br />

05:<br />

06:<br />

07:<br />

08:<br />

09:<br />

10:<br />

11:<br />

12:<br />

13:<br />

14:<br />

15:<br />

16:<br />

17:<br />

18:<br />

19:<br />

20:<br />

21:<br />

22:<br />

23:<br />

24:<br />

25:<br />

26:<br />

27:<br />

28:<br />

29:<br />

30:<br />

31:<br />

32:<br />

33:<br />

34:<br />

35:<br />

36:<br />

37:<br />

38:<br />

/* 10prg05.c: Değer geçerek ve adres geçerek<br />

aktarım */<br />

#include <br />

void f1(int ); /* iki fonksiyon */<br />

void f2(int *);<br />

int main()<br />

{<br />

int x = 55;<br />

printf("x in degeri,\n");<br />

printf("Fonksiyonlar cagrilmadan once:<br />

%d\n",x);<br />

/* f1 fonksiyonu çağrılıyor...*/<br />

f1(x);<br />

printf("f1 cagirildiktan sonra :<br />

%d\n",x);<br />

/* f2 fonksiyonu çağrılıyor...*/<br />

f2(&x);<br />

printf("f2 cagirildiktan sonra :<br />

%d\n",x);<br />

return 0;<br />

}<br />

/* Değer geçerek aktarım */<br />

void f1(int n){<br />

n = 66;<br />

printf("f1 fonksiyonu icinde :<br />

%d\n",n);<br />

}<br />

/* Adres geçerek aktarım */<br />

void f2(int *n){<br />

*n = 77;<br />

printf("f2 fonksiyonu icinde :<br />

%d\n",*n);<br />

}

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

Saved successfully!

Ooh no, something went wrong!