Bitte um Erklaerung
-
Hallo, ich haette gerne folgendes Konstruckt erlaeutert:
static struct dt { char *command; /* name of input command */ int length; /* length of command */ void (*proc)(char *, int); /* handler */ } dispatch_table[] = { { "keycode", 7, do_keycode }, { "keysym", 6, do_keysym }, { "add", 3, do_add }, { "remove", 6, do_remove }, { "clear", 5, do_clear }, { "pointer", 7, do_pointer }, { NULL, 0, NULL }};
Ich verstehe das void (*proc)(char *, int) nicht.
Waere jemand bitte so nett mir das nahe zu bringen?!
-
void (*proc)(char *, int);
Das ist eine Variablen-Deklaration. Die Variable hat den Namen 'proc'.
'proc' ist ein Zeiger auf eine Funktion die nichts (void) zurückgibt, als ersten Parameter einen Zeiger auf char (wahrscheinlich ein Null-terminierter String) und als zweiten Parameter ein int hat.Gruß
Don06
-
wenn ich das richtig verstanden hab, ist das ein Zeiger auf eine Funktion die einen *char und int übergeben bekommt und void liefert.
die genaue funktion von Zeiger auf funktionen findet man in zahlreichen tuts.
der rest sollte eigentlich klar sein.es wird eine struktur deklariert und ein Feld definiert...
-
Ooopppss! Zu langsam!!!
-
Danke.