関数を指すポインタ配列
2つのint型配列に対し、加算・減算・乗算・除算を行う関数をそれぞれ用意し、そのアドレスをポインタ配列に設定しておく。
#include <stdio.h>
int add(int x,int y);
int sub(int x,int y);
int mul(int x,int y);
int div(int x,int y);
main()
{
int (*p_op[4])(int x,int y);
int x=10,y=3,z;
int i;
p_op[0] = add;
p_op[1] = sub;
p_op[2] = mul;
p_op[3] = div;
printf("x=%3d y=%3d\n",x,y);
for (i=0;i<4;i++){
z=(*p_op[i])(x,y);
printf(" z=%4d\n",z);
}
}
int add(int x,int y)
{
return x+y;
}
int sub(int x,int y)
{
return x-y;
}
int mul(int x,int y)
{
return x*y;
}
int div(int x,int y)
{
return x/y;
}
最終更新:2010年12月02日 04:01