Verstehe Zeile nicht
-
Ich hab in einer Übungsaufgabe folgenden Code, den ich nicht verstehe:
typedef void (print) (double money);
Was bedeutet das? Und was ist das letztendlich für ein Konstrukt?
Sieht aus wie eine Mischung aus Funktion und struct...
-
Hier ist das eigentlich ziemlich gut erklaert. Und lies was unter "Using typedef with type casts" steht. Dann siehst du was das Konstrukt macht ond wofuer man es brauchen kann.
Am besten liest du wohl onehin den ganzen Artikel durch.
-
Du definierts einfach nur nen Funktionstypen. Eine Funktion die void zurückgibt und ein double als Argument hat. Die darfst du ab jetzt print nennen.
Unsinniges Bsp:
typedef void (print) (double); // der Argumentname kann entfallen void MoneyToScreen(double money) { char str[] = "I'm a rich bastard"; printf("%s\nMy money = %.2lf\n", str, money+1000000); } int main() { print *fctptr; // Funktionszeiger fctptr = MoneyToScreen; fctptr(1.00); return 0; }
Aber Geld ist ein Integertyp, niemals Floatingpoint.