Kennt jemand diese Schreibweise?
-
Hi,
Kann mir jemand sagen, was das für eine Schreibweise ist?void (*main_init_func)() = main_init_curses;
ist das ein Zeiger auf eine Funktion?? Warum setzt man die in Klammern?
Grüße Tobias
-
Stimmt genau, das ist ein Zeiger auf eine Funktion.
PS: Ohne die Klammern wäre es der Aufruf einer Funktion. (Ich gehe davon aus, du meinst die Klammern um den Namen)
-
Die Klammern setzt man, weil der ()-Operator stärker bindet als *.
void* f(); // f ist eine Funktion, die einen Zeiger auf void zurückgibt void (*f) (); // *f ist eine void-Funktion, d.h. indirekt, dass f ein Funktionspointer ist