首页 > 其他 > 详细

指向函数的指针

时间:2015-06-28 15:30:44      阅读:135      评论:0      收藏:0      [点我收藏+]
指向函数的指针变量的一般形式为:
数据类型   (*指针变量名)(函数参数表列);
如:  int (*p)(int ,int );
1、int (*p)(int ,int );表示定义一个指向函数的指针变量p,它不是固定只能指向某一个函数。在一个程序中,一个指针变量可以先后指向同类型的不同函数。
2、给函数指针赋值时,只须给出函数名而不必给出参数。
如: p=max;如果写成 p=max(a,b); 是将函数max(a,b);所得到的函数值赋给p,而不是将函数入口赋给p
3、用函数指针变量调用函数时,只须将(*p)代替函数名即可。如: c=(*p)(a,b);
4、指向函数的指针变量,像p+n、p++、p--等运算是无意义的。
 
代码:
输入两个整数,然后用户选择1或2,选1输出较大值,选2输出较小值。
程序代码:
#include<stdio.h>
void main()
{
    int max(int ,int );
    int min(int ,int );
    int (*p)(int ,int );
    int a,b,c,n;

    printf("please enter a and b:");
    scanf("%d%d",&a,&b);
    printf("please choose 1 or 2:");
    scanf("%d",&n);

    if(n==1)
        p=max;
    else if(n==2)
        p=min;

    c=(*p)(a,b);
    printf("a=%d,b=%d,",a,b);

    if(n==1)
        printf("max=%d\n",c);
    else
        printf("min=%d\n",c);
}


int max(int a,int b)
{
    return a>b?a:b;
}

int min(int a,int b)
{
    return a<b?a:b;
}
 

运行结果:

 

技术分享 

 
实用价值在于在应用程序中常用菜单提示输出一个数字,然后根据不同值执行不同的功能,就是用此法。

 

指向函数的指针

原文:http://www.cnblogs.com/vitah/p/4605513.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!