PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeiger auf eine Funktion als Typ deklarieren



TrollSlayer
30-04-2005, 11:51
Hallo,

wie kann ich denn in C einen Zeiger auf eine Funktion als einen neuen Typ deklarieren (typedef)?
Bei:

int (*f) (float);

ist f doch schon der Name des Zeigers. Wenn man die obige Zeile einfach in eine typedef-Zeile packt, spielt es dann eine Rolle oder ist es richtiges C:

typedef int (*f) (float) my_func_t;

Vielen Dank im voraus!

Joghurt
30-04-2005, 12:10
typedef int (*my_func_t)(float);

Stelle dir typedef einfach als ein storage-modifier wie static/auto/extern vor.

PS: Ohne diesen typedef sähe ein Cast auf diesen Typ übrigens so aus:

(int(*)(float)) Funktion_anderen_Typs

TrollSlayer
30-04-2005, 12:45
Danke für die schnelle Antwort!
Dann wäre:

my_func_t f;

gleichwertig mit:

int (*f) (float);

Stimmt das?