C

Aus C3D2
Version vom 20. Oktober 2006, 10:23 Uhr von Sven (Diskussion | Beiträge) (Cooler Code mit Funktionspointern)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Funktionspointer

Funktionspointer mit dem Namen a auf eine Funktion ohne Parameter:

void (*a)();

Der Aufruf von a sieht dann folgendermaßen aus:

(*a)();

Funktion mit einem int-Argument die einen Funktionspointer auf eine Funktion zurückliefert die void zurückliefert und ein int-Argument und ein char * Argument hat:

void (*f(int a))(int, char *)
{
  printf("%d", a);
  return &bar; 
} 

Funktion die einen Pointer auf die vorherige Funktion zurückliefert:

void (*(*f_return())(int))(int, char *)
{
  return &f;
}