(Motivation/Wiederholung:) Funktionen sind Daten, können also auch Argumente und Resultate von Funktionen sein. -- Aber Vorsicht:
int f0 () { int (*f1 (int x1))(int) { int f2 (int x2) { return x1 * x2; } return f2; } |
int (*g3) (int) = f1 (3); int (*g4) (int) = f1 (4); return g3 (g4 (1)); } |
f1(3), f1(4)
sind wie beschrieben closures
zur Syntax siehe auch Lars Händel: http://www.function-pointer.org/