Gast
#2397080
Hallo ! kann mir bitte jemand diese C code zeile erklären ? typedef void (*timer_expiry_cb_t)(void *); danke voraus!
|
Anzeige
|
c typedef void pointer problem
Gast
#2397080
Hallo ! kann mir bitte jemand diese C code zeile erklären ? typedef void (*timer_expiry_cb_t)(void *); danke voraus! zeus schrieb: > Hallo ! > > kann mir bitte jemand diese C code zeile erklären ? > > typedef void (*timer_expiry_cb_t)(void *); > > danke voraus! Das beschreibt den Typ einer Funktion, welche einen void-Pointer als Argument entgegennimmt und keine Rückgabe liefert. Dieser Typ kann im Folgenden als "timer_expiry_cb_t" benannt werden. Viele Grüße, Simon Eine Zeigerfunktion, die keinen Rückgabewert liefert und als Parameter einen typlosen Zeiger erwartet. Das Ganze als Typdefinition zur leichteren Verwendbarkeit. Das ist ein Funktionszeiger auf eine Funktion, die nichts zurückgibt, aber einen (beliebigen) Pointer als Argument akzeptiert. MfG Marius Ninja'd! ;-) Bei der Antwortgeschindigkeit hier frage ich mich echt manchmal, ob nicht ein Dutzend Personen im Forum immer auf "Refresh" klickt und sich sofort auf solche Fragen stürzt... :-) Mark Brandis schrieb: > Ninja'd! ;-) Heh, ich bin ja durchaus erleichtert, dass wir uns wenigstens einig sind :) Viele Grüße, Simon
Gast
#2397113
Danke erstmal für die schnelle antworten. soweit ich verstanden hab da es ein typedef ist kann ich es wie folg verwenden:
stimmt das? (unknown) schrieb: > soweit ich verstanden hab da es ein typedef ist kann ich es wie folg > verwenden: Ja. Aber callback = function; callback(&var1); tut es auch und entspricht dem Ursprung der Sprache, während callback = &function; (*callback)(&var1) als Konzession an Nutzer hinzu kam, die von einem Funktionsnamen als implizitem Pointer und dem () Operator als Aufruf über einen Pointer irritiert waren. Daher ist callback = function; (*callback)(&var1) ein inkonsistenter Hybrid aus beiden Varianten.
Gast
#2397127
Danke erstmal ;)
Gast
#2397426
Man kann sogar schreiben
Bei Funktionen und deren Aufruf sind Dereferenzierungen beliebig oft machbar, und es kommt immer das gleiche raus. ... und die Anzahl der Sternchen muß dann nicht gleich sein in den beiden Zeilen. Sehr gute Idee, werde ich hier gleich mal irgendwo unterbringen! Klaus Wachtler schrieb: > ... und die Anzahl der Sternchen muß dann nicht gleich sein in den > beiden Zeilen. > > Sehr gute Idee, werde ich hier gleich mal irgendwo unterbringen! Warum um alles in der Welt sollte man sowas machen wollen? Es sei denn natürlich, man nähme am IOCCC teil - wenn es ihn noch geben würde. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|