struct interface { __code (*next)(); __rectype child; // __rectype *child; // struct interface *child; }; #include __code csA() { printf("csA\n"); } __code csB() { printf("csB\n"); } int main() { struct interface p; p.next = csA; struct interface pp; pp.next = csB; p.child = &pp; // goto p.child->next(); goto p.child->next(); return 0; }