C++ Fonksiyonlar

Posted: October 23, 2014 in C++
Tags:

Fonksiyonlar belirli bir amaç için yazılmış program parçalarıdır ve programcının programını modüler hale getirmesini sağlamaktadır. Fonksiyonlar bir başka ifade ile böl ve yönet (divide and conquer) prensibinin
uygulanmasına imkan vermektedir.Başka bir sebep ise yazılımın yeniden kullanılmasıdır.

Aşağıda verilen programda minimum isimli fonksiyona üç tamsayı parametre olarak gönderilmekte ve en küçük değer geriye döndürülmekte ve ana program içinde dönen değer ekrana yazdırılmaktadır.

#include
#include
int minimum( int, int, int );
using namespace std;

int main()
{
int a, b, c;
cout<>a>>b>>c ;
cout<< “Minimum: “<< minimum( a, b, c )<<” dir\n” ;
return 0;

}

int minimum( int x, int y, int z )
{
int mini = x;
if ( y < mini )
mini= y;
if ( z <mini )
mini = z;
return mini;
}

—————————————————————————————————————————–

5

Adres ile çağırma

Geriye birden fazla değer döndermek gerekirse veya fonksiyon içinde yapılan işlemlerin
fonksiyona gönderilen parametre değişkenini etkilemesi isteniyorsa adres ile çağırma yöntemi
kullanılır.

#include
#include
using namespace std;
void degistir1( int x, int y )
{
int gecici;
gecici = x;
x = y;
y = gecici;
}
void degistir2( int *x, int *y )
{
int gecici;
gecici = *x;
*x = *y;
*y = gecici;
}

int main()
{
int a, b;
a = 12;
b = 27;
cout<< “degistir1 before a: “<<a<<” b : “<<b<<endl;
degistir1(a, b);
cout<< “degistir1 after a: “<<a<<” b : “<<b<<endl;

cout<<“———————————-“<<endl;
cout<< “degistir2 before a: “<<a<<” b : “<<b<<endl;
degistir2(&a, &b);//!!!!!
cout<< “degistir2 after: a: “<<a<<” b : “<<b<<endl;
return 0;
}

6

degistir1() fonksiyonunda fonksiyona a ve b değerlerin kopyası yerel değişkenler x ve y ye geçirilmektedir . Değişim bu yerel değişkenler üzerinde olmaktadır. Fonksiyon sonlandığında yerel değişkenlerde yok olmaktadır. Dolayısı ile a ve b değişkenleri yer değişmemiş olmaktadır.

Degistir2 () fonksiyonunda ise a ve b değişkenlerinin adresleri fonksiyona geçirilmektedir. Adreslerin içindeki değerler yer değiştiğinden ve fonksiyondan çıktıktan sonrada bu değişken adresleri kaybolmayacağından değişim işlemi gerçekleşmektedir

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s