Callbacks
void Foo();
void Bar();
int main()
{
// define pointer to function, initialize to address of Foo
void (*pF)() = &Foo;
Foo(); // call Foo directly
Bar(); // call Bar directly
(*pF)(); // call Foo via pF callback
void (*pF2)() = pF; // make copy of pF
pF = &Bar; // change pF
(*pF)(); // call Bar via pF callback
(*pF2)(); // call Foo via pF2 callback
}