函数指针

前言

函数在内存中有一个物理地址,该地址是可以赋给一个指针的,这就是函数指针
函数指针有两个用途:调用函数做函数的参数


函数指针的声明方法

返回类型值 (*指针变量名)([形参列表]);
例如:

int func(int x); /* 声明一个函数 */
int (*f) (int x); /* 声明一个函数指针 */
f=func; /* 将func函数的首地址赋给指针f */

或者使用下面的方法将函数地址赋给函数指针:

f = &func;

赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。

#include <cstdio>
#include<cstdlib>
int max(int a,int b){
    if(a>b)
        return a;
    else
        return b;
}
int main(){
    int(*pmax)(int a,int b);
    int x,y,z;
    pmax=max;
    printf("input two numbers:\n");
    scanf("%d%d",&x,&y);
    z=(*pmax)(x,y);
    printf("maxnum=%d",z);
    system("pause");
}

函数指针

上一篇:Flash教程:制作天空中流星划过特效


下一篇:Android 使用ViewPager实现左右循环滑动图片