关于typedef的几个问题

refugeetaotao 2008-01-18 03:06:49
1. typedef int (*PF) (const char *, const char *);
PF Register(PF pf);
请问上面两句分别代表什么意思?
请大家越详细越好,因为对我很重要.谢谢了
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjltail 2008-01-18
  • 打赏
  • 举报
回复
typedef int (*PF) (const char *, const char *);
---------------------------------------------------------------
定义了一个函数指针,返回int类型,其参数是 const char *

PF Register(PF pf);
---------------------------------------
函数的声明,接受PF类型的函数指针,放回PF函数指针.

来个例子吧:

//PF:函数的定义
int fun_pf(const char* a, const char* b)
{
...
return 2;
}

//Register定义
PF Register(PF pf)
{
PF old_pf = get_old_pf();
set_new_pf(pf);
return old_pf;
}


ZiSheng 2008-01-18
  • 打赏
  • 举报
回复
mark
Minkey 2008-01-18
  • 打赏
  • 举报
回复
从Register这个词的字面意思来理解,这个函数的作用应该是为一个函数例程注册一种处理方法,并返回先前的处理方法.
C中的信号处理函数采用的就是这种方法,楼主可以找一找看一看...
Minkey 2008-01-18
  • 打赏
  • 举报
回复
PF是一个函数指针,指向的函数有两个const char *参数,返回值为int型
Register函数接受一个PF指针并返回一个PF函数指针
ltc_mouse 2008-01-18
  • 打赏
  • 举报
回复
1. 函数指针。
2. 传入函数指针,并且返回函数指针的函数调用。

建议搜索 "函数指针"
  • 打赏
  • 举报
回复
1行,定义了一个函数指针类型
定义一个函数,参数和返回值都是函数指针.

69,369

社区成员

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

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