Functions are just locations in memory.
Pointers are just locations in memory.
An array of function pointers can be a dispatch table.
#include <stdio.h> int square( int n ) { return n * n; } int cube( int n ) { return n * n * n; } int main( void ) { int (*func)(int); func = square; printf( "Executing func at %p, returns %d\n", (void *)func, func(3) ); func = cube; printf( "Executing func at %p, returns %d\n", (void *)func, func(3) ); return 0; }
Executing func at 0x1f46, returns 9 Executing func at 0x1f55, returns 27TOC | Prev | Next