>>530
前半の疑問
関数へのポインタ変数 func に 関数を代入する際の記述に限り & を省略できる
という文法にしちゃった そしてそう記述するのが古くからの慣わし

関数宣言 double add(double i, double j);
関数の実装 double add(double i, double j) { return i+j; }
宣言した関数の呼び出し add(i,j);
宣言した関数のポインタを得る add (もしくは &add でも同じ)