Was ist Funktionszeiger?
Zeiger, dessen Wert die Adresse einer Funktion ist. Deklariert wird er einschließlich der Typen von Argumenten und Rückgabewert, etwa int (*fp)(int, int) = add;, und fp(1, 2) oder (*fp)(1, 2) ruft die Funktion auf, auf die er zeigt. Mit einem Array von Funktionszeigern lässt sich eine Tabelle bauen, die je nach Nummer zwischen Verarbeitungen umschaltet. Verwendet wird er für Callbacks wie die Vergleichsfunktion für qsort, für Interrupt-Vektortabellen und für die Verarbeitung der einzelnen Zustände eines Zustandsautomaten. Im Maschinencode wird daraus ein indirekter Aufruf, der die Adresse in ein Register lädt und dorthin springt.
Japanische Bezeichnung: 関数ポインタ
„Funktionszeiger“ kommt in 3 Übungsfragen aus 2 Themen vor, z. B. Befehlssatz und Assembler, Grundlagen der Programmiersprache C.
Fachgebiet: Grundlagen der Programmiersprache C