FONKSİYONA POİNTER GÖNDERME

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

Bir yanıt bırakın