先看函数指针
int func2(int x);    /* 声明一个函数 */
int (*q2) (int x);   /* 声明一个函数指针 */
q2=func2;        /* 将func函数的首地址赋给指针f */
int c=(*q2)(3);   //3可以为任意实参
 
上面4句基本说明了函数指针的用法:
函数指针是指向函数的指针,确切的说,是指向特定类型函数的指针(函数与函数指针 类型要匹配)
函数指针用来保存函数首地址,即可以通过该指针访问函数。函数指针相当于取别名
函数指针可以指向一类函数,而不是一个函数,即可以重新赋值。(见例2)
 
函数指针不难,只要记住上面黑体字就差不多了,附上两个简单的例子
例1:
#include<stdio.h>
int max(int x,int y){ return(x>y?x:y); }
void main()
{
int (*ptr)(int, int);
int a,b,c;
ptr=max;
scanf("%d%d",&a,&b);
c=(*ptr)(a,b);
printf("a=%d,b=%d,max=%d",a,b,c);
}
View Code

例2:

相关文章: