函数指针使用解决思路
函数指针使用
定义完函数指针,再指向函数,使用时用指针调用函数,与用函数名调用感觉没什么区别,
请问各位大神,什么情况下,用指针调用会比函数名调用来的方便,或者说好处更大,如果没有函数指针存在的意义。
------解决思路----------------------
仅供参考:
定义完函数指针,再指向函数,使用时用指针调用函数,与用函数名调用感觉没什么区别,
请问各位大神,什么情况下,用指针调用会比函数名调用来的方便,或者说好处更大,如果没有函数指针存在的意义。
------解决思路----------------------
仅供参考:
#include <stdio.h>
double A[300][100];
double valuex[300];
double valuey[300];
int i;
double fun00(double x,double y) {return x + y ;};
double fun01(double x,double y) {return x*x+ 3*y ;};
double fun02(double x,double y) {return x + 2*y*x;};
//... fun03(double x,double y) {return ...+... ;};
//...
//... fun98(double x,double y) {return ...+... ;};
double fun99(double x,double y) {return x/2+20*y ;};
double (*funNN[100])(double,double)={
fun00,
fun01,
fun02,
// fun03,
// ...
// fun98,
fun99,
};
int main() {
double x,y;
int f,FN;
for (i=0;i<300;i++) {
valuex[i]=(double)i;
valuey[i]=(double)i;
}
FN=3;
for (i=0;i<300;i++) {
x=valuex[i];
y=valuey[i];
for (f=0;f<FN;f++) A[i][f]=funNN[f](x,y);
}
for (i=0;i<3;i++) {
for (f=0;f<FN;f++) printf("%lg ",A[i][f]);
printf("\n");
}
return 0;
}
//0 0 0
//2 4 3
//4 10 10