c3d2-wiki/C.mw

29 lines
801 B
Plaintext

[[Kategorie:Wissen]][[Kategorie:C]]
==Funktionspointer==
Funktionspointer mit dem Namen a auf eine Funktion ohne Parameter:
<source lang="c">
void (*a)();
</source>
Der Aufruf von a sieht dann folgendermaßen aus:
<source lang="c">
a();
</source>
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:
<source lang="c">
void (*f(int a))(int, char *) {
return &bar;
}
</source>
Funktion die einen Pointer auf die vorherige Funktion zurückliefert:
<source lang="c">
void (*(*f_return())(int))(int, char *) {
return &f;
}
</source>
<source lang="c">
void (*(*f_return2( void (*a(int))(int, char *), void (*b(int))(int, char *) ))(int))(int, char *) {
return a ? b : &f;
}
</source>