您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  指向函数的指针变量作函数参数 【注册男护士专用博客】          

指向函数的指针变量作函数参数

www.nanhushi.com     佚名   不详 

  指向函数的指针变量主要用于作函数参数,以实现“函数”作函数的参数,便于编制通 用程序。此时形参用指向函数的指针变量,而实参是实际函数的入口地址(函数名),当然 实参也可以是指向实际函数的指针变量。
  例编制程序,调用一个多功能函数,对于最大值函数参数,求两个数的最大 值;对于最小值函数参数,求两个数的最小值。
  程序如下:
  /*指向函数的指针变量作函数参数*/
  main()
  {int max(),min(),fun();
  int a,b;
  scanf(”%d,%d”,&a,&b);
  printf(”最大值=”);
  fun(a,b,max);
  printf(”最小值=”);
  fun(a,b,min);
  }
  max(x,y)/*最大值函数*/
  int X,Y;
   {if(x>y)return(x);
  else return(y);
  }
  min(x,y∥*最小值函数*/
  int X,Y;
  {if(x<y)return(x);
  else return(y);
  }
  {un(x,Y,p)/*多功能函数*/
  int X,Y;
  int(*p)();/*P参数为指向整型函数的指针变量*/
  {int result;
  result=(*p)(x,y);/*通过指针调用函数*/
  print{(”%d\n”,result)}
  }
  输入数据:28,32
  运行结果:最大值一32最小值一28
  第一次调用fun()函数时,除了将a、b的值传递给X、Y,还将函数max()的入口地址(max)传递给指向函数的指针变量P,这时函数fun()中的(*p)(x,y)相当于max(x,y)。
  第二次调用fun()函数时,a、b的值同样传递给x、Y,另改用函数rain()的入口地址(min)传递给指向函数的指针变量P,这时函数fun()中的(*p)(x,y)相当于min(x,y)。
  本例这样做无太多实际意义,主要使读者认识指向函数的指针变量作函数参数的做法。请读者进一步参阅本章最后一节的通用积分程序。来源:考试大网

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目