C语言函数指针问题

2019-07-20 19:23发布

typedef int (*CallBackFun)(char *p);int Afun(char *p)  
  {    
    printf("Afun 回调打印出字符%s! ", p);      
    return 0;  
}
int call(CallBackFun pCallBack, char *p)  
  {      
    pCallBack(p); //这一行代码不对劲吧?      
    return 0;      
  }


pCallBack(p); //这一行代码不对劲吧?  应该是(*pCallBack)(p),
因为函数名传递的是该函数所在的地址,(*pCallBack)指向的是函数执行内容。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
ianhom
1楼-- · 2019-07-20 22:47
这里和变量有所不同,pCallBack(p)就可以调用回调函数了
lqhde158
2楼-- · 2019-07-21 00:59
 精彩回答 2  元偷偷看……
shikihane
3楼-- · 2019-07-21 06:53
函数指针比较特殊,不需要解引用,因为调用函数,fun_p(),就已经等于是引用了指针内容了。
FantaSy_
4楼-- · 2019-07-21 11:44
帮顶

一周热门 更多>