double (*func)(double,doube);
[double を 2つ受けて double を返す関数] の場所を覚えるための変数 が func
プロトタイプ宣言ではなく 長ったらしいけど変数宣言 int *func; と本質的に同じ