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


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

c语言 基本概念 程序开发

猫猫猪OTL 12 years, 1 month 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, 1 month ago


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

SaKura. answered 12 years, 1 month ago


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

dagdag answered 12 years, 1 month ago


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


呜咕呜咕的说 answered 12 years, 1 month ago


学习!!!

5521448 answered 12 years, 1 month ago


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

如:FUNC1 A;

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

同理

FUNC2 b;

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

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

神丨尾灬观铃 answered 12 years, 1 month ago

Your Answer