19 Haziran 2013 Çarşamba

void fonksiyonda returnsuz değer dönderme

void Hesapla(int a, int b, int* x, int* y, int* z, int* w)
{
    *x=a+b;
    *y=a-b;
    *z=a*b;
    *w=a/b;     
}

main void()  // burada parantez icine void yazacaksak yazmayabilme serbestligimiz var
{
int a,b,c,d;

        Hesapla (4, 5, &a, &b, &c, &d);  // Buradaki &a, a degiskeninin adresinin sayisal degeri demektir.
}

gördüğünüz gibi return kullanmadığımız halde, hatta void bir fonksiyon olduğu halde pointer'ların gücü ile değer döndürebiliyoruz.


http://www.picproje.org/index.php/topic,35908.45.html

---------------------

 http://www.tahribat.com/Forum-Fonksiyonlarin-Birden-Fazla-Deger-Dondurmesi-C-Java-105488/

void fonksiyon(int& a,int& b)
{
    a=2;
    b=3;
}

int main()
{
int d1=1,d2=2;

//  d1 in değeri 1, d2 nin değeri 2 dir.

fonksiyon(d1,d2);
//  d1 in değeri şimdi 2, d2 nin ise 3 oldu
return 0;
}


not(mgb): burda şöyle bir sıkıntı var,  fonksiyon(2,3); şeklinde direkt sayı vererek fonksiyonu çağıramıyorsunuz. İlla bir int türünde değişken istiyor ki adresini tutabilsin...

eğer kaç tane değer yollanacağının belli ise struct yapısı oluşturabilirsiniz. Belli değilse dizi değişken ile yapabilirsiniz.

Hiç yorum yok:

Yorum Gönder