#include <stdio.h>
int Add(int x,int y);float Sub(float x,float y);float Mul(float x,float y);float Exc(float x,float y);
int (*pMathAdd)(int x,int y);float (*pMathSub)(float x,float y);float (*pMathMul)(float x,float y);float (*pMathExc)(float x,float y);
typedef struct __MATH{ int (*pMathAdd)(int x,int y); float (*pMathSub)(float x,float y); float (*pMathMul)(float x,float y); float (*pMathExc)(float x,float y);}_MATH;
_MATH MATH = {Add,Sub,Mul,Exc};
float (*pMath[3])(float,float)={Sub,Mul,Exc};
void main(void){ printf("函数指针\n");
printf("%d\n",MATH.pMathAdd(9,3)); printf("%f\n",MATH.pMathSub(9,3)); printf("%f\n",MATH.pMathMul(9,3)); printf("%f\n",MATH.pMathExc(9,3)); printf("%f\n",(*pMath[0])(9,3)); printf("%f\n",(*pMath[1])(9,3)); printf("%f\n",(*pMath[2])(9,3)); while(1);
}
int Add(int x,int y){ return (x+y);}
float Sub(float x,float y){ return (x-y);}
float Mul(float x,float y){ return (x*y);}
float Exc(float x,float y){ return (x/y);}
转载于:https://www.cnblogs.com/luckytimor/p/6902795.html
