ポインタとして指すことのできるのは、通常のデータだけではない。プログラムの断片である関数でさえも、ポインタとしてポインタ変数に格納することができる。たとえば、ある条件に従って、足し算をするのか引き算をするのか変わる、というプログラムがあったとしよう。 int add( int a, int b ) { return a + b; } int sub( int a, int b ) { return a - b; } void main() { int cond; int x, y; ....... if( cond == 0 ) { printf( "result = %d\n", add( x, y ) ); } else if( cond == 1 ) { printf( "result = %d\n", sub( x, y ) ); } else { printf( "I do NO