/* Funktionspointer */
parent
270fe1aa82
commit
f6354c22af
21
C.mw
21
C.mw
|
@ -2,24 +2,27 @@
|
|||
==Funktionspointer==
|
||||
|
||||
Funktionspointer mit dem Namen a auf eine Funktion ohne Parameter:
|
||||
void (*a)();
|
||||
<source lang="c">
|
||||
void (*a)();
|
||||
</source>
|
||||
Der Aufruf von a sieht dann folgendermaßen aus:
|
||||
a();
|
||||
|
||||
<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:
|
||||
<pre>
|
||||
<source lang="c">
|
||||
void (*f(int a))(int, char *) {
|
||||
return &bar;
|
||||
}
|
||||
</pre>
|
||||
</source>
|
||||
Funktion die einen Pointer auf die vorherige Funktion zurückliefert:
|
||||
<pre>
|
||||
<source lang="c">
|
||||
void (*(*f_return())(int))(int, char *) {
|
||||
return &f;
|
||||
}
|
||||
</pre>
|
||||
<pre>
|
||||
</source>
|
||||
<source lang="c">
|
||||
void (*(*f_return2( void (*a(int))(int, char *), void (*b(int))(int, char *) ))(int))(int, char *) {
|
||||
return a ? b : &f;
|
||||
}
|
||||
</pre>
|
||||
</source>
|
||||
|
|
Loading…
Reference in New Issue