Fonksiyonel programlamaya uygun olarak tasarlanacak bir programda şüphesiz ki pointer’lar da fonksiyon trafiğinden nasibini alacaktır. Çok da mantığına inmeden basitçe bunu nasıl yapabileceğimizi göstereyim;
Örneğin bir sayacımız olsun.Amacımız da bu sayacı main fonksiyonu dışında bir fonksiyonda arttırıp, main’e geri döndürmek ve değerinin değişmesini sağlamak olsun.
Bu işlemi pointer kullanmadan, değişkeni global tanımlayarak da sağlayabilirsiniz.
<h1>include <stdio.h></h1> <h1>include <stdlib.h></h1> void deger_arttir(int *); int main() { int i; int sayac = 0; int *ptr_sayac; ptr_sayac = &sayac;//Pointer 'sayac' degiskeninin adresini gosteriyor… //Sayac degiskeni ile islem yapilmadan, fonksiyona sayac degiskeninin pointeri gonderiliyor ve deger arttirma islemi yapiliyor… for(i=0;i<10;i++) { deger_arttir(ptr_sayac); printf("Sayacin yeni degeri: %d\n",sayac); } return 0; } void deger_arttir(int *degiskene_ait_pointer) //Disaridan integer deger tutan bir hucreyi isaret eden pointer alinip, degeri arttiriliyor… { *degiskene_ait_pointer += 1; }