c / intermediate
Snippet
Funktionszeiger für Callbacks
Funktionszeiger erlauben es, Funktionen als Argumente an andere Funktionen zu übergeben, was flexible und generische Codemuster wie Callbacks ermöglicht.
snippet.c
1
2
3
4
5
6
7
int add(int a, int b) { return a + b; }int execute(int (*op)(int, int), int x, int y) {return op(x, y);}int result = execute(add, 5, 3);
Erklärung
1
int (*op)(int, int)
Deklariert einen Zeiger namens 'op', der auf eine Funktion zeigt, die zwei Ints annimmt und einen Int zurückgibt.
2
return op(x, y);
Ruft die Funktion auf, auf die 'op' zeigt, und übergibt die entsprechenden Argumente.
3
execute(add, 5, 3)
Übergibt die Adresse der 'add'-Funktion an die 'execute'-Funktion.