中易网

C语言的问题,网上代码,不知道这个回调函数中的 CallBackFun属于什么类型,貌似木有定义这个啊

答案:1  悬赏:50  
解决时间 2021-01-09 01:10
C语言的问题,网上代码,不知道这个回调函数中的 CallBackFun属于什么类型,貌似木有定义这个啊
最佳答案
typedef int (*CallBackFun)(char *p);
是定义一个函数指针类型,其中p可以有、可以没有
这个类型的名字是 CallBackFun,原型是int (*)(char *)

如果觉得难以理解,可以简单用宏模拟如下
#define CallBackFun (int (*)(char *))追问您好,CallBackFun是不是倍定义成了一个指针变量?就是用CallbackFun 变量,就成了指针变量,但不知道他是int*变量还是longint*追答CallBackFun是类型。

说一下如何理解typedef语句
typedef语句从左向右看,第一个“新”名字就是定义的新类型名
其原型就是:整个typedef语句删除typedef关键字和新类型名之后剩下的部分;

比如 typedef unsigned int uint_t;
从左向右看,第一个新名字是uint_t,所以uint_t就是类型
剔除typedef和unit_t,其原型就是 unsigned int

那么 typedef int (*CallBackFun)(char *p);

从左向右看,第一个新名字是CallBackFun,所以CallBackFun就是新定义的类型
剔除typedef和CallBackFun,其原型就是 int (*)(char *)

再回到本问题来,理解了函数指针类型定义,下面的就很容易理解了:CallBackFun 是类型,pCallBack是变量
int call(CallBackFun pCallBack, char *p) {
printf("call 直接打印出字符%s!\n", p);
pCallBack(p);
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
公文中标题不能用“申请”二字么?
QQ华夏里的普通坐骑3级马可以学5个技能或几个
求解!REWRITE OP动画原本是看的了的。最近不
怎么谈女朋友?
求初雪的歌词
求不用的QQ号和密码
简答题1.回避的理由有哪些?
被草蛇咬了怎么办?
凯奥国际教育集团地址有知道的么?有点事想过
创意什么最赚钱
3d打印机同步带为什么都用2gt
兰博基尼能在农村里走的动吗
vivoy35a参数配置
《论语》宪问篇十二章"子路问成人.文之以礼乐
索尼z3,三星s6,火腿肠m9,选择哪一个
推荐资讯
红薯凉粉做出来不白
下图是金刚石、石墨、C60的结构示意图.它们
请问在linux的bash下,怎么计算乘方和取模?
鸡鼻子能闻到东西吗
穿越火线手游麒麟贺岁后面什么时候更新
(1)动手量一量,A、B两点间的线段中,_____
我的神舟电脑蓝屏怎么做谢谢
你斯负我什么意思?
苹果 7连接不上无线,总显示无互联网连接是怎
作为商标应该具备什么特征?
99.9乘以99.9 递等式简便计算
求一首女声日文歌名字
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?