next up previous contents
Next: 課題5 Up: ユーザ定義関数 Previous: 引き数が配列変数の場合   Contents

関数を引き数に取る関数

関数を他の関数の実引き数とすることも可能である。 次の例では、関数値(f(x))を計算し、その値が与えられた値(y)に対して、 大きいか小さいか等しいかを、それぞれ0, 1, -1で返す関数である。 なお、関数を引数にする場合には、 関数の型をtypedefで定義した方が扱いやすいので、 下記の例でもそうしている。


typedef double (*Func)(double x);
int test(Func f, double x, double y){
double fx;
int ret = 0;
fx = f(x);
if( fx > y){
ret = 1;
}else if( fx < y ){
ret = -1;
}
return(ret);
}



kojima hirohisa
2001-03-05