CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请问 typedef int(FUNC2) (int*,int*,int*);是什么意思?谢谢!

楼主yangw150(永远超越)2006-03-12 15:51:49 在 C/C++ / C语言 提问

顺便看一下这个题输出结果是什么?最好在解释一下啊,谢谢!  
  #include<stdio.h>  
  int   inc(int   a)  
  {  
  return(++a);  
  }  
  int   multi(int*a,int*b,int*c)  
  {  
  return(*c=*a**b);  
  }  
  typedef   int(FUNC1)(int   in);  
  typedef   int(FUNC2)   (int*,int*,int*);  
   
  void   show(FUNC2   fun,int   arg1,   int*arg2)  
  {  
  INCp=&inc;     //   FUNC1   *p   =   &inc;  
  int   temp   =p(arg1);  
  fun(&temp,&arg1,   arg2);  
  printf("%d\n",*arg2);  
  }  
   
  main()  
  {  
  int   a;  
  show(multi,10,&a);  
  return   0;  
  }  
  问题点数:10、回复次数:17Top

1 楼bm1408(向va_list学习~不用VC好多年~)回复于 2006-03-12 15:56:16 得分 0

typedef   int(FUNC2)   (int*,int*,int*);  
   
  ------------------  
  定义一个函数指针func2,这个函数带有3个int   *,   返回int型~Top

2 楼Loveflys()回复于 2006-03-12 17:01:24 得分 0

(FUNC1)这个是什么?类吗?顶起!Top

3 楼lei001(太极)回复于 2006-03-12 17:04:59 得分 0

函数指针Top

4 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-03-12 17:32:07 得分 0

星星一大意就看花了眼  
  typedef   int(*FUNC2)   (int*,int*,int*);//这时FUNC2是个函数指针类型  
  FUNC2   p   =   &multi;//这样定义一个函数指针  
  //用FUNC2类型定义出的函数指针只能指向具有三个int*参数,返回值为int的函数  
   
  typedef   int(FUNC2)   (int*,int*,int*);//这时FUNC2是个函数类型  
  FUNC2   *p   =   &multi;//这样定义一个函数指针  
   
  另外楼主程序中INCp=&inc;   INCp哪里来的?Top

5 楼1982pc()回复于 2006-03-12 17:33:20 得分 0

其实就是简单的函数指针,这个(FUNC1)只是一个名字标实.FUNC2   fun,这里就fun   就和   FUNC2   所定义的时候原形一样了.Top

6 楼bluehacker88()回复于 2006-03-12 19:26:10 得分 0

110   吧Top

7 楼mp6()回复于 2006-03-12 21:10:22 得分 0

函数指针的定义  
   
  例程里面用到了,两个函数指针,是不是什么练习或面试题,绕来绕去做一个简单的问题^_^。  
  答案是110吧Top

8 楼jiangsy(大胡子他哥)回复于 2006-03-12 21:16:46 得分 0

楼主你10号也到华为去面试了?这是那里面的倒数第三题.Top

9 楼hsyouxishe(金笛玉洁)回复于 2006-03-12 21:22:22 得分 0

函数指针主要用于哪些方面啊?Top

10 楼acmKevin(贪睡鼠)回复于 2006-03-12 22:03:34 得分 0

函数指针用来作函数参数~通过传递不同的指针来增加弹性  
  to   楼上Top

11 楼norbe()回复于 2006-03-13 10:44:27 得分 0

考的其实就是函数指针,没什么的  
  函数指针,指针函数,搞清楚了就明白了  
  typedef就是类型定义  
  typedef   A  
  A   a  
  那么a就是A类型的变量  
  函数无非也就是一段代码而已,函数的名称就是指向这段代码的首地址Top

12 楼yangw150(永远超越)回复于 2006-03-13 13:42:54 得分 0

答案是110,请解释一下为什么啊,这个是化为的比试题Top

13 楼zzw820626(偶要分,偶要星星)回复于 2006-03-13 13:58:37 得分 5

typedef   int(*FUNC2)   (int*,int*,int*);//这时FUNC2是个函数指针类型  
  FUNC2   p   =   &multi;//这样定义一个函数指针  
  //用FUNC2类型定义出的函数指针只能指向具有三个int*参数,返回值为int的函数  
   
  typedef   int(FUNC2)   (int*,int*,int*);//这时FUNC2是个函数类型  
  FUNC2   *p   =   &multi;//这样定义一个函数指针  
   
   
   
  show(multi,10,&a)  
  //代入可以得到:  
  void   show(FUNC2   multi,int   10,   int*     &a)  
  {  
  FUNC1   *p   =   &inc;  
  int   temp   =p(10);                     //temp==11  
  multi(&11,&10,   &a);  
  /*代入  
  int   multi(int*a,int*b,int*c)  
  {  
  return(*c=*a**b);  
  }  
  */  
  printf("%d\n",*arg2);  
  }  
  由于a   是未经初始化的变量,所以程序的输出结果是未定的  
  Top

14 楼wuchengwei()回复于 2006-03-13 14:06:25 得分 5

#include<stdio.h>  
  int   inc(int   a)  
  {  
  return(++a);  
  }  
  int   multi(int*a,int*b,int*c)  
  {  
  return(*c=*a**b);  
  }  
  typedef   int(FUNC1)(int);  
  typedef   int(FUNC2)   (int*,int*,int*);  
   
  void   show(FUNC2   fun,int   arg1,   int   *arg2)  
  {  
  //fun   为指向函数int   multi(int*a,int*b,int*c)的指针  
  //arg1   =   10,arg2   =&a;  
    FUNC1   *p   =   &inc;   //p为指向函数inc的指针  
  int   temp   =p(arg1);//等价于   temp   =   inc(arg1)   =   inc(10)   =   11  
  fun(&temp,&arg1,   arg2);  
  //运行fun()函数后,*arg2   =   temp   *   arg1   =   11   *   10   =   110  
  printf("%d\n",*arg2);  
  }  
   
  int   main()  
  {  
  int   a;  
  show(multi,10,&a);  
  return   0;  
  }Top

15 楼yangw150(永远超越)回复于 2006-03-13 15:49:49 得分 0

我明白了,非常感谢各位帮助!Top

16 楼dugusword(毒菇九煎)回复于 2006-03-13 21:45:35 得分 0

110Top

17 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-03-15 20:27:07 得分 0

一分都不给我,不厚道,zzw820626   的回复也引用了我的全文。Top

相关问题

  • typedef int (*SUMMARY)(int);是什么意思?
  • int func _((long l, int code));'_'什么意思??
  • typedef int (WINAPI *PROC)();是什么意思??
  • typedef int(&riff)(int,int)是什么意思啊??
  • typedef const vector<unsigned int>* (*pfunc)(int)请解释一下意思。
  • typedef int (*SUMMARY)(int);解释一下什么意思
  • 请问这样的语句是什么意思? typedef int (WINAPI* INITIALIZE) (int, int, char*, int, int);
  • typedef list<CPlugin *> PluginsList /什么意思?
  • 这个typedef是什么意思?
  • typedef void * sql_context;是什么意思?

关键词

  • 函数
  • 指针
  • func
  • multi
  • typedef
  • incp
  • arg
  • 类型
  • 指向
  • 定义

得分解答快速导航

  • 帖主:yangw150
  • zzw820626
  • wuchengwei

相关链接

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

广告也精彩

反馈

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