请问 typedef int(FUNC2) (int*,int*,int*);是什么意思?谢谢!
顺便看一下这个题输出结果是什么?最好在解释一下啊,谢谢!
#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;是什么意思?




