这几天在学习中经常用到指针函数、函数指针,一直记不起来两者的区别,今天把他的区别写下来吧 为以后查找提供方便:
1、指针函数:
是指带指针的函数,也就是说有返回值是指针类型,其本质就是函数,
例如:类型标识符 *函数名(参数表)
int *add( int a , int b )
{
int x=0;
x=a+b;
return x;
}
void main(void)
{
int a=5,b=5;
printf("a+b=%d\n",add(a,b));
}
2、函数指针:是指向函数的指针变量,即本质是一个指针变量。
例如:
void fun(int a,int b){
printf("fun=%d\n",a*b/2);
}
void add(int a, int b)
{
printf("add=%d\n",a+b);
}
void main(void)
{
int a=5,b=5;
void (*right)(int ,int );
right=add;
(*right)(a,b);
right=fun;
(*right)(a,b);
}