函数指针的赋值问题

Caballeroo 2008-04-01 03:28:50
小弟有个关于函数指针的赋值问题,一直没有高明白,希望有大哥哥给与解答!

void (*theKernel)(int zero, int arch, uint params); //定义

theKernel = (void (*)(int, int, uint))ntohl(hdr->ih_ep); //赋值

函数指针不是的赋值不是一定要满足:函数的返回值、函数的形参个数及类型相同的条件吗?上述的赋值是否为某种类型的转换》?


谢谢指教!!
...全文
179 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bestvalentine 2008-04-01
  • 打赏
  • 举报
回复
强制转换
xkyx_cn 2008-04-01
  • 打赏
  • 举报
回复
mark
ZiSheng 2008-04-01
  • 打赏
  • 举报
回复
The Windows Sockets ntohl function converts a u_long from TCP/IP network order to host byte order (which is little-endian on Intel processors).转换网络字节序,这个函数的返回值可以当作一个函数指针吗?lz
ZiSheng 2008-04-01
  • 打赏
  • 举报
回复
ntohl(hdr->ih_ep)是啥,hdr是什么
Supper_Jerry 2008-04-01
  • 打赏
  • 举报
回复
指针就是指针,你可以利用强制转换,把不同类型的指针相互转换。
类型只是编译器的解释方式而已。
cad_vc 2008-04-01
  • 打赏
  • 举报
回复
函数指针也是一种指针类型,可以象其他指针一样进行强制转换
ttkk_2007 2008-04-01
  • 打赏
  • 举报
回复
(void (*)(int, int, uint))ntohl(hdr->ih_ep); 强转了
bargio_susie 2008-04-01
  • 打赏
  • 举报
回复
ntohl(hdr->ih_ep)强制转换成函数指针了。

69,364

社区成员

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

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