C言語にはポインタという機能があります。
ポインタ変数はアドレスを格納する変数です。
関数にもアドレスがあるので、関数を指すポインタ変数も作れます。
宣言の仕方は、こんな感じです。
int (* pFunc) (int, int);
気持ち悪いですね。
でも、C言語の仕様なので仕方ありません。
覚えましょう。
関数ポインタは、配列で使うことが多いようです。
関数そのものの配列が作れないので、関数ポインタの配列を作るわけです。
関数ポインタを使うことで、積分を計算する関数なんかも作れます。
関数を直接引数にすることはできないので、関数ポインタで関数を渡すわけです。