null第五章 指针与函数 第五章 指针与函数 指向函数的指针
返回指针值的函数5.3 函数的指针与函数调用5.3 函数的指针与函数调用问题一(What):什么是函数的指针?
每一个函数都是一个程序模块,这个模块在内存中都占有一片 的存储区,函数名代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
了该存储区的首地址,称为函数的入口地址。定义:用来存放函数入口地址的变量,称为指向函数的指针变量,简称函数指针。CPU连续5.3 函数的指针与函数调用5.3 函数的指针与函数调用问题二(Why):为什么要使用函数指针?
例:写函数求解 在[1,6]之间的定积分。double collect()
{ int i,a=1,b=6,n=100;
float f,h,area;
h=(b-a)/n;
for(i=0;i
=ESP);
return x;
}不能硬编码不能硬编码double root(double x1, double x2)double root(double(*p)(double x),double x1, double x2)y=(*p)(x);
y1=(*p)(x1);5.3 函数的指针与函数调用5.3 函数的指针与函数调用double f1(double x)
{ return 2*x*x*x-4*x*x+3*x-6; }
double f2(double x)
{ return x*x*x*x-4*x*x*x+6*x*x-8*x-8; }
void main()
{ double y1,y2;
y1=root(f1,-10,10);
y2=root(f2,-1,1);
printf(“y1=%f, y2=%f\n”,y1,y2);
}例5.3 利用已有的通用函数按给定条件求下列方程的根。
(1)求方程 在(-10,10)之间的根。
(2)求方程 在(-1,1)之间的根。函数名字做为实参5.3 函数的指针与函数调用5.3 函数的指针与函数调用总 结
问题一(What):什么是函数的指针?
存放函数入口地址的变量。
问题二(Why):为什么要使用函数指针? 最大限度重用功能类似的函数,让程序运行
时动态决定调用什么函数。
问题三(How):如何使用函数指针?
声明: int (*fptr)( );
赋值: fptr=swap;
调用: (*fptr)(ptr1,ptr2);(When):什么时候使用函数指针?