Nachdem eine Struktur definiert ist
typedef struct complex {
float img;
float rea;
void (*incr)(struct *extComplex); //function-pointer
}
kann man Zeiger definieren:
complex *myComplexNumber;
Dann ist äquivalent
(*myComplexNumber).img = 10
myComplexNumber->img = 10
Setzen der Funktion
void myIncr (complex *p){p->rea++; p->img++;}
myComplex->incr = myIncr;complex c = {0, 0, myIncr);
Aufruf
myComplex->incr(&myComplex);
c.incr(&myComplex)