打印

如何理解函数指针的调用

[复制链接]
1157|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
entepino|  楼主 | 2012-10-11 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何理解函数指针的调用?
  这是函数在程序中的调用,如下:
XCan_SetHandler(&Can, XCAN_HANDLER_SEND,

(void *)SendHandler, (void *)&Can);

有四个参数,&CanXCAN_HANDLER_SENDSendHandler&Can;这个函数的定义是这样的,如下:
int XCan_SetHandler(XCan *InstancePtr, u32 HandlerType,


void *CallBackFunc, void *CallBackRef)
我就是没明白参数SendHandler是如何使用的?SendHandler本身是一个函数,其定义如下:
static
void SendHandler(void *CallBackRef)
{

/* The frame was sent successfully. Notify the task context */

xil_printf("SendHandler\r\n");

SendDone = XTRUE;
}

如果是函数指针作为参数的话,不应该这么写吗:(void *)SendHandler(void *)
即:XCan_SetHandler(&Can, XCAN_HANDLER_SEND,

(void *)SendHandler(void *), (void *)&Can);
有人知道吗,谢谢指点。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

649

帖子

2

粉丝