C语言指针—指向函数的指针
1.什么是函数指针
在程序中定义了一个函数,在编译时,系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址)称为这个函数的指针。
一般形式:
类型名 (*指针变量名)(函数参数表列)
例如:
int (*p)(int int)
定义p是一个指向函数的指针变量,它可以指向函数的类型为整型且与两个整型参数的函数。p的类型用int(*)(int,int)表示。
2.函数指针变量的应用
(1)用函数求整数a和b的大者
#include
int max(int x,int y)
{
int z;
if(x>y)
{
z=x;
}
else
{
z=y;
}
return (z);
}
int main()
{
int (*p)(int ,int); //定义指向函数的指针变量
int a,b,c;
p=max; //使p指向max函数
printf(“please enter a and b:\n”);
scanf(“%d,%d”,&a,&b);
c=(*p)(a,b); //通过指针变量调用max函数
printf(“a=%d\nb=%d\nmax=%d\n”,a,b,c);
ret