c语言函数指针参数中的指针问题,以及子函数的调用

查看: 140|回复: 4
C语言函数指针问题
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间21 小时
typedef int (*CallBackFun)(char *p);int Afun(char *p)&&
& & printf(&Afun 回调打印出字符%s!\n&, p);& && &
& & return 0;&&
int call(CallBackFun pCallBack, char *p)&&
& & pCallBack(p); //这一行代码不对劲吧?& && &
& & return 0;& && &
pCallBack(p); //这一行代码不对劲吧?&&应该是(*pCallBack)(p),
因为函数名传递的是该函数所在的地址,(*pCallBack)指向的是函数执行内容。
主题帖子精华
金牌会员, 积分 1499, 距离下一级还需 1501 积分
在线时间439 小时
这里和变量有所不同,pCallBack(p)就可以调用回调函数了
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间21 小时
这里和变量有所不同,pCallBack(p)就可以调用回调函数了
我的意思是pCallBack 是代表的函数的入口地址,不代表函数的执行内容,而*pCallBack是代表整个函数的,为什么不加*号,网上有人加* 有人不加,两者有什么区别呢
主题帖子精华
中级会员, 积分 376, 距离下一级还需 124 积分
在线时间70 小时
函数指针比较特殊,不需要解引用,因为调用函数,fun_p(),就已经等于是引用了指针内容了。
主题帖子精华
在线时间157 小时
Powered by

我要回帖

更多关于 c语言定义函数指针 的文章

 

随机推荐