CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

指针指向函数的问题:

楼主xiaowei27(小阿伟)2001-08-09 17:24:27 在 C/C++ / C语言 提问

我知道指针指向函数,第一个原因是因为一个函数不能做为另一个函数的  
  参数,但是可以用指针做为参数.第二个原因是因为一个函数不能做为数组的  
  元素,但指针指向函数后,用数组指针即可引用.  
    道理是明白的,但是就是不知道怎么用,  
  请大侠们用c++给我写个简单的例子好吗?  
  问题点数:20、回复次数:5Top

1 楼s_sword(sword)回复于 2001-08-09 17:54:06 得分 0

gzTop

2 楼starsoft007(星软)回复于 2001-08-09 18:32:33 得分 8

呵呵,这有一个作为参数的例子,请看:  
  #include   <stdio.h>  
  int examp()  
  {  
  return   8;  
  }  
  int   test(int   (*p)(),int   i)  
  {  
   
  return   (p()+i);  
  }  
  main()  
  {  
      int   (*p)();  
      p=examp;  
      printf("%d",test(p,1));  
  }Top

3 楼lj9852(Loading)回复于 2001-08-09 18:46:11 得分 6

 
   
  1.函数指针作为参数:  
  returntype   (*pname)(parameterlist)  
  比如:  
  int   fun(int   i)  
  {  
      cout<<i<<endl;  
  }  
  void   a(int(*pfun)(int))  
  {  
      pfun(10);  
  };  
  void   main()  
  {  
      a(fun);  
  }  
  或  
  typedef   int   (*pfun)(int);  
  void   a(pfun   fun);  
  void   main()  
  {  
      a(fun);  
  }  
  2.函数指针数组:  
  int   fun1(int){};  
  int   fun2(int){};  
  int   fun3(int){};  
  typedef   int   (*pfun)(int);  
  void   main()  
  {  
      pfun   fun[3]={fun1,fun2,fun3};  
  }   Top

4 楼gigix(透明)回复于 2001-08-09 19:05:06 得分 6

一个非常重要的用法,就是所谓的“回调函数”:你告诉系统“发生XX事件时,调用YY函数”,并把YY函数的指针也告诉给系统。于是系统在XX事件发生的时候就可以调用YY函数来处理了。  
  另一个非常重要的用法,是建立“函数入口表”:你把许多函数指针(也就是函数入口)放在一个表中,用户根据某种条件查表而得到合适的函数入口。Top

5 楼xiaowei27(小阿伟)回复于 2001-08-09 20:57:57 得分 0

多谢三位大侠,  
  以后还要请多多指教哦.Top

相关问题

  • 指向函数的指针的用法!?
  • 指向函数的指针,为什么??
  • 怎么使用指向类成员函数的函数指针!!!
  • 函数指针能否指向一个类非static的函数?
  • 一个指向类函数成员的函数指针
  • “指向函数指针数组的指针”怎么使用?
  • 紧急求教:如何使用指向类成员函数的函数指针?
  • 问一下关于指向函数的指针作函数参数的问题!!!!
  • 关于指向成员函数的指针
  • C++如何定义指向函数的指针?

关键词

  • 函数
  • 指针
  • 指向
  • 参数
  • 数组
  • 例子
  • 原因
  • 不能做
  • 知道
  • test

得分解答快速导航

  • 帖主:xiaowei27
  • starsoft007
  • lj9852
  • gigix

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo