指向函数的指针及数组操作
有时候需要定义指向函数的指针,可以对一类拥有相同函数原型的函数进行调用。
#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 阅读(229) 评论(0) 编辑 收藏 举报