C Fonksiyonlara Değer Aktarma

C/C++ Fonksiyonlara Değer Aktarma

Fonksiyonlar da değer aktarımı iki şekilde gerçekleşmektedir.

1.Değer ile Çağırma(Call By Value)

Değer ile çağırma yönteminde fonksiyon parametrelerine değişkenlerin değeri kopyalanmaktadır. Gerçek değişkenin değerinde herhangi bir değişiklik olmaz. Değer ile çağırma yönteminde geriye tek bir değer döndürülmektedir.

2.Adres ile Çağırma(Call By Reference)

Geriye birden fazla değer döndürmek gerekirse veya fonksiyon işlemlerin fonksiyona gönderilen parametre değişkenini etkilemesi gerekiyorsa adres ile çağırma yöntemi kullanılır. Bu yöntem ile değişkenlerin değeri değil  adresleri fonksiyona parametre olarak gönderilir. Bu nedenle adresin değerindeki yapılan değişiklikler parametre değerleri de ektiler.

Örnek Uygulama


#include<iostream>
#include<conio.h>
using namespace std;

void degistir1(int x,int y)
{// deger ile çağırmaya örnek 1
int gecici;
gecici= x;
x=y;
y=gecici;
}

void degistir22(int *x,int *y)
{// adres ile çağırmaya örnek
int gecici;
gecici= *x;
*x=*y;
*y=gecici;
}

int main()
{
int a=12,b=27;
cout<<"degirtir1 fonk once a: "<<a<<" b: "<<b<<endl;
degistir1(a,b);
cout<<"degirtir1 fonk sonra a: "<<a<<" b: "<<b<<endl;

cout<<"degirtir2 fonk once a: "<<a<<" b: "<<b<<endl;
degistir22(&a,&b);
cout<<"degirtir2 fonk sonra a: "<<a<<" b: "<<b<<endl;
getch();
return 0;
}

Processing your request, Please wait....
logo