pointer
-
c dilinde bir fonksiyonun return degeri sadece bir tane iken pointer'lar sayesinde bunun bokunu cikartabilir hatta ne return degeri lan diyip fonsiyonu void olarak bile yazmaya goturebilirsiniz bu kadar ilginc bir seydir bu pointer algoritmalar icin.
basit bir örnegi 2 degiskeni degistiren fonksiyondur, bir ara degisken, 2 de degerlerini degistirmek istediginiz degiskeni ,
long funk(long a, long b)
{
long h; (debug watch'ta h abarti bir deger olarak gozukebilir sifirlamaniza gerek yoktur.)
h = a;
a = b;
b = h;
return (a veya b);
}
bu fonksiyonla hemen degistirir ama degerlik olarak sadece a ya da b'yi dondurebilirsiniz.
halbuki adreslerini gostererek direk adreslerin icine bir takim degerler yolladiginizda main fonksiyonunda a ve b degismis olarak gozukur. fonksiyon da amacli yazilmis olur.
yani,
void funk(long *a, long *b)
{
long h;
h = *a;
*a = *b;
*b = h;
}
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap