catch 发表于 2013-12-23 17:18:05

C中的函数指针使用

函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参数。


#include <stdio.h>
int max(int x,int y)
{
        return x>y?x:y;
}
int min(int x,int y)
{
        return x<y?x:y;
}
int main(int argc, char* argv[])
{
        int (* ptr)(int,int);
        int a,b;
        ptr=max;
        ptr=min;
        scanf("%d %d",&a,&b);
        printf("%d/n",ptr(a,b));
        printf("%d/n",ptr(a,b));
}


卧室不要床 发表于 2013-12-23 18:10:43

一起打酱油

maomingkun 发表于 2013-12-23 20:28:46

我是真心没看懂啊
页: [1]
查看完整版本: C中的函数指针使用