c3d2-wiki/C.mw

26 lines
688 B
Plaintext
Raw Normal View History

2006-11-27 05:46:01 +01:00
[[Kategorie:Wissen]]
2006-10-20 12:23:45 +02:00
==Funktionspointer==
Funktionspointer mit dem Namen a auf eine Funktion ohne Parameter:
void (*a)();
Der Aufruf von a sieht dann folgendermaßen aus:
2006-10-22 18:49:26 +02:00
a();
2006-10-20 12:23:45 +02:00
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>
2006-10-20 16:55:12 +02:00
void (*f(int a))(int, char *) {
return &bar;
2006-10-20 12:23:45 +02:00
}
</pre>
Funktion die einen Pointer auf die vorherige Funktion zurückliefert:
<pre>
2006-10-20 16:55:12 +02:00
void (*(*f_return())(int))(int, char *) {
2006-10-20 12:23:45 +02:00
return &f;
}
</pre>
2006-10-20 16:55:12 +02:00
<pre>
void (*(*f_return2( void (*a(int))(int, char *), void (*b(int))(int, char *) ))(int))(int, char *) {
return a ? b : &f;
}
</pre>