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


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

c语言 基本概念 程序开发

猫猫猪OTL 12 years ago


(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 的两种函数.

柳生八兵卫 answered 12 years ago


最常用的是 定义函数指针 用这种方式

SaKura. answered 12 years ago


楼主去 google 一下 typedef 的几种用法就明白了

dagdag answered 12 years ago


调用动态链接库的时候经常这样用~


呜咕呜咕的说 answered 12 years ago


学习!!!

5521448 answered 12 years ago


上面的语句作用是 作一个函数声明类型.

如:FUNC1 A;

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

同理

FUNC2 b;

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

值得注意的是参数匹配:参数个数,参数类型

神丨尾灬观铃 answered 12 years ago

Your Answer