FONKSİYONA POİNTER GÖNDERME
Bir fonksiyona değişken göndermenin iki yolu vardır.
1)call-by-value(değer ile çağırım)
2)call-by-reference(referans ile çağırım)
Bu yazımızda değineceğimiz asıl konu ise referans ile fonksiyon çağırımı.
Öncelikle değer ile çağırım;fonksiyona gönderilen değişkenin belli işlemlerden geçerek tekrar gönderilmesidir(return).
Referans ile çağırım ise adresi gönderilen değişkenin fonksiyon da işlem görmesidir.
Örnekler ile açıklayacak olursak şöyle;
İkinci örnekte ne yaptığımıza gelecek olursak;
Değerleri karışık olarak verilmiş olan bir diziyi bubble sort algoritması uygulayarak artan sıralı bir dizi haline getirmek.Buradaki swap(int*,int*) fonksiyonu,adresleri alınan arr[i] ve arr[j] değerlerinin yerlerinin değiştirilmesini sağlamak.
NOT:Bir array,fonksiyona adres yoluyla gönderileceği zaman “&” operatörü kullanılmaz.
“void func(int *arr[]);” tanımlı bir fonsiyon ve “int arr[2]={1,2}; “ tanımlı bir dizimiz var,bu diziyi “func” fonksiyonuna göndereceğimiz zaman direkt “func(arr);” olarak göndeririz.Çünkü;”arr[]” dizinin zaten ilk elemanının adresini içerir (*arr[0]) bu yüzden “&” gerek yoktur.
Bu konuyu,dizilerde pointer olarak başka yazımızda detaylı olarak anlatacağız.Sağlıcakla kalın…
“Fonksiyona Pointer Tanımlama” yazımıza göz atmak için tıklayınız;
İlk yorum yapan olun