指向函数的指针及数组操作
有时候需要定义指向函数的指针,可以对一类拥有相同函数原型的函数进行调用。
#include <stdio.h>
#include <stdlib.h>
void intf(int (*fp)(), int a, int b);
int f1(int a, int b); // +
int f2(int a, int b); // -
int f3(int a, int b); // *
int f4(int a, int b); // /
int main()
{
int ix=0;
int a=1;
int b=2;
int (*fList[4])(int , int) = {f1, f2, f3 ,f4};
for( ; ix<4; ix++)
{
intf((*fList[ix]), a, b);
// (*fList[ix])(a,b);
}
return 0;
}
void intf(int (*fp)(), int a, int b)
{
int lRc;
lRc = (*fp)(a,b);
printf("lRc = %d\n\n",lRc);
}
int f1(int a, int b)
{
printf("Opretion: +");
printf("\t%d + %d \n", a, b);
return a+b;
}
int f2(int a, int b)
{
printf("Opretion: -");
printf("\t%d - %d \n", a, b);
return a-b;
}
int f3(int a, int b)
{
printf("Opretion: *");
printf("\t%d * %d \n", a, b);
return a*b;
}
int f4(int a, int b)
{
printf("Opretion: /");
printf("\t%d / %d \n", a, b);
if(b)
return a/b;
else
return -1;
}
posted on 2011-10-16 18:26 jay.windows 阅读(236) 评论(0) 收藏 举报
浙公网安备 33010602011771号