referans ile çağırma (call by reference)
Bir fonksiyonun pointer marifetiyle çağrılmasıdır. Örneğin C dilinde:
int fonksiyon(int *a){
a++;
}
şeklinde yazılmış bir fonksiyon, main() fonksiyonundan çağrılırken:
int main(){
int *x=10;
fonksiyon(x);
printf(“%d”,*x);
}
şeklinde çağrılırsa bu durumda x pointer’ının referansı fonksiyona geçirilmil olur. Referansın geçmesi aslında x pointer’ının adresinin fonksiyonda bulunan a değişkeni tarafından da gösterilmesi demektir. Yani a değişkeninin üzerinde yapılan her değişiklik, x değişkeni için de geçerli olacaktır.
Yukarıdaki örnek kod için x değişkeninin değeri, ekranda 11 olarak görülür, çünkü bu göstericinin (pointer) gösterdiği değer fonksiyon içinde değişime uğramıştır.
Örnek kodun tamamı:
#include
int fonksiyon(int *a){
*a=15;
}
int main(){
int *x;
int a = 10;
x=&a;
fonksiyon(x);
printf(“%d”,*x);
return 0;
}