读书人

请教这两行代码是什么意思

发布时间: 2012-03-14 12:01:12 作者: rapoo

请问这两行代码是什么意思?
typedef int(FUNC1)(int in);
typedef int(FUNC2)(int *,int *,int *);
不理解,请教!!

[解决办法]
上面的语句作用是 作一个函数声明类型.

如:FUNC1 A;

等价于声明一个函数:int a(int in);

同理

FUNC2 b;

等价于声明一个函数:int b(int *,int *,int*);

值得注意的是参数匹配:参数个数,参数类型
[解决办法]
学习!!!
[解决办法]
调用动态链接库的时候经常这样用~

[解决办法]
楼主去 google 一下 typedef 的几种用法就明白了
[解决办法]
最常用的是 定义函数指针 用这种方式
[解决办法]
(1) 首先解释一下函数指针: 声明一个函数指针 Return Type (*func_name) (parameter_list);
func_name 可以指向一个返回类型为 Return Type,参数为 parameter_list 的函数.
(2) typedef Var1 Var2; 这时 Var2 等同于 Var1.
typedef int(FUNC1)(int in);
typedef int(FUNC2)(int *,int *,int *); 是 typedef 的一种比较特殊的用法.这时 FUNC1,FUNC2 等价于上面的函数指针 func_name,它们分别指向参数为 int 和int*,int*,int* 返回值为 int 的两种函数.

读书人网 >C语言

热点推荐