函数指针

nuaacims 2003-10-15 05:54:23
void (*f(void(*)()))(void(*)());
其中的*f(void(*)())是什么意思啊?
...全文
46 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TianGuangZao 2003-10-15
  • 打赏
  • 举报
回复
我的理解:

*f(void(*)())
这是一个函数,函数名为 f,带一个参数 void(*)(),返回一个函数指针。
所带的参数 void(*)() 在这里是一个未命名的函数指针。

void (*f(void(*)()))(void(*)());
连起来看:
函数 f 带一个参数 void(*)(),返回一个函数指针,
该函数指针所指的函数带一个参数 void(*)(),无返回值。

我想楼主给的代码位置应该是在声明函数原型的地方,或者是宏定义之类的地方。
这些地方可以不需要参数名,只要给出参数类型就可以了,
所以会看到没有名字的函数指针。

fishinsea2003 2003-10-15
  • 打赏
  • 举报
回复
不懂?
函数无参数也就罢了!
定义一个指针为什么连指针名也没有???
小弟刚学C++不久 ,请教各位了。
gccr 2003-10-15
  • 打赏
  • 举报
回复
*f(void(*)())
总体说是一个指向函数的指针,这个函数的形参是void(*)().
void(*)()也是一个指向函数的指针,他指的那个函数无返回值。
Caoyu015 2003-10-15
  • 打赏
  • 举报
回复
void(*)()是一个函数指针 返回一个一个指针,该指针是一个函数指针,这个函数指针有一个类型为 void (*)()的函数指针。
f是为返回的函数指针命名.
结合优先级来看是比较简单的。
std3lqi 2003-10-15
  • 打赏
  • 举报
回复
好像又是考题!
B828 2003-10-15
  • 打赏
  • 举报
回复
是函数指针

69,369

社区成员

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

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