(void (*)(void))高人指教。

unbutun 2007-10-22 11:58:00
void (*fp)(void);
fp = (void (*)(void))0x8000;


不知是什么意思?高人指点
主要是(void (*)(void))是怎么回事?
...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
_石头_ 2007-10-22
  • 打赏
  • 举报
回复
晕,上面还有两行代码阿!---没注意到。
void (*fp)(void); //声明是一个指向函数的指针,被指向的函数类型是void(代码中的第一个void),该函数无参数(void)
fp=(void (*)(void))0x8000是强制类型转换,把0x8000转换为(void (*)(void))类型,并付给fp。
第二句代码的意思就是fp所指向的函数的起始地址为0x8000.
_石头_ 2007-10-22
  • 打赏
  • 举报
回复
void (*)(void)---是一个指向函数的指针,被指向的函数类型是void(代码中的第一个void),该函数无参数(void)
Rotaxe 2007-10-22
  • 打赏
  • 举报
回复
void (*fp)(void); //声明函数指针
(void (*)(void))是强制类型转换,把整形转换为函数指针
unbutun 2007-10-22
  • 打赏
  • 举报
回复
哦,谢谢了。
thecorr 2007-10-22
  • 打赏
  • 举报
回复
对。
0x8000是一个内存地址,把指想该处的指针强制转换为要求类型的指针

69,378

社区成员

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

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