Funktionszeiger
← Zeiger auf Zeiger | ● | Einsatz von Funktionszeigern →
Nicht nur Referenzen auf Variablen, sondern auch Referenzen auf Funktionen sind erlaubt. Wie bei Referenzen auf Variablen, erhält man die Adresse einer Funktion, über den Adress-Operator &.
Die dazugehörigen Pointer sind typisiert, d.h. sie zeigen auf eine Funktion mit einer bestimmten Signatur.
Syntax:
Fallgrube: Was ist der Unterschied zu data_type *function_pointer(parameters)
bzw. (data_type *)function_pointer(parameters)
?
Zuweisung der Funktions-Referenz an den Pointer:
{
...
}
function_pointer = &function; /* get address of function */
Die Dereferenzierung eines Funktionszeigers hat den Aufruf der referenzierten Funktion zur Folge (mit den entsprechenden Argumenten):
Damit ist es möglich die Programmausführung zur Laufzeit anzupassen.
- Funktionsauswahl zur Laufzeit
- Verschiedenene Versionen von derselben Funktion.
- Callbacks