请问这两行代码是什么意思?

yongzhi130 2007-10-07 04:58:21
typedef int(FUNC1)(int in);
typedef int(FUNC2)(int *,int *,int *);
不理解,请教!!
...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
clifford1984 2007-10-08
  • 打赏
  • 举报
回复
(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 的两种函数.
IlikeEnglish 2007-10-07
  • 打赏
  • 举报
回复
最常用的是 定义函数指针 用这种方式
独孤过儿 2007-10-07
  • 打赏
  • 举报
回复
楼主去 google 一下 typedef 的几种用法就明白了
yjukh 2007-10-07
  • 打赏
  • 举报
回复
调用动态链接库的时候经常这样用~
hjzwl1018 2007-10-07
  • 打赏
  • 举报
回复
学习!!!
OphoneOu 2007-10-07
  • 打赏
  • 举报
回复
上面的语句作用是 作一个函数声明类型.

如:FUNC1 A;

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

同理

FUNC2 b;

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

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

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧