Callback Funktionen
Completion requirements
In der Programmierung kommt es regelmäßig zu Situationen, in deinen eine Funktion als Parameter übergeben werden muss. Funktionen, die als Parameter zu einer Funktion übergeben werden, nennt man Callback-Funktionen. Typisch sind lang laufende Funktionen, die ihren Abschluss durch den Aufruf der Callback-Funktion signalisieren, sowie Sortierfunktionen, die eine angepasste Vergleichsfunktion bekommen können, um jede Art von Daten zu sortieren.
Beispiel:
#include <stdio.h>
#include <unistd.h>
typedef void (*CallbackFn_t)();
void long_running_function(CallbackFn_t callback)
{
printf("Start sleeping ... ");
fflush(stdout);
sleep(3);
printf("done\n");
if (callback != NULL) {
callback();
}
}
void custom_callback_function()
{
printf("This is my custom calback function.\n");
}
int main()
{
printf("with callback:\n");
long_running_function(&custom_callback_function);
printf("without callback:\n");
long_running_function(NULL);
return 0;
}
Last modified: Friday, 1 June 2018, 12:40 PM