İçeriğe geç

Callback fonksiyonu nedir ?

En basit haliyle callback başka bir fonksiyonu işaret eden, çağıran fonksiyonlardır.  Fonksiyon parametre olarak fonksiyon pointer alır ve o fonksiyon pointer’ın işaret ettiği fonksiyonu çağrıır.
Callback genellikle bir fonksiyonun gerçekleşmesi ya da gerçekleşmemesi durumlarında kullanılır. Örneğin daha önce  HAL_UART_RxCpltCallback fonksiyonunu
STM32 Nextion Ekran Led Yakma blog yazısında kullanmıştık. Bu fonksiyon UART veri alımı tamamlandığında çağrılan fonksiyondu. CallBack fonksiyonunu anlamanın en iyi yolu bir örnek üzerinde incelemek olacaktır.

Aşağıda my_event fonksiyonunu işaret eden bir callback_event fonksiyonu yazılmıştır.

#include<stdio.h>

void my_event() {

   printf(“Normal Fonksiyon”);

}

void callback_event(void (*ptr)()) {

   printf(“Callback fonksiyonu.\n”);

   (*ptr)();   //Callback fonksiyonunu çalışıyor.

}

void main()

   void (*ptr)() = &my_event;

   callback_event(ptr);

}

 Çıktı: 

Bu örnekte  

 void (*ptr)() = &my_event; callback_event(ptr);

bu iki fonksiyon yerine sadece callback_event(my_event);

fonksiyonunu yazabiliriz.Bunun sebebi fonksiyon isminin bize fonksiyon pointerını dönderiyor olmasıdır. 

}

Tarih:C programlama 101

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir