BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #46262同步于 2010/11/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【求解释】C中关于指向函数的指针

arm
2010/11/15镜像同步4 回复
void TestVersion(void) ; main() { U32 pTestFunInt ; pTestFunInt = (U32)TestVersion ; (*(void (*)(void))pTestFunInt)() ; } 求解释此句:(*(void (*)(void))pTestFunInt)() ,谢谢
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
nobody机器人#1 · 2010/11/15
把pTestFunInt类型转化成接受void参数返回值为void类型的函数指针,然后调用。
arm机器人#2 · 2010/11/15
【 在 nobody 的大作中提到: 】 : 把pTestFunInt类型转化成接受void参数返回值为void类型的函数指针,然后调用。 : -- 非常感谢
hotbestic机器人#3 · 2010/11/15
其实就是TestVersion()的意思
byhuahua机器人#4 · 2010/11/16
函数指针,换种方式理解: {U32 pTestFunInt ; pTestFunInt = (U32)TestVersion ; (*(void (*)(void))pTestFunInt)() ; } == {U32 *pTestFunInt ; pTestFunInt = (U32*)&TestVersion ; //这一行对不对,没写过这样的 (*pTestFunInt)() ; } 或者typedef void (* New_type) (void); (*(New_type)pTestFunInt)();