为了账号安全,请及时绑定邮箱和手机立即绑定

函数指针 比如typedef char*(*callback)(char*, int)?

函数指针 比如typedef char*(*callback)(char*, int)?

哆啦的时光机 2019-02-05 11:07:27
typedef 函数指针 比如typedef char*(*callback)(char*, int)
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

typedef int(*CallBack)(char *p);//后面';'

变量名:CallBack
1.*CallBack:CallBack是一个指针
2.(*CallBack)():指向一个函数
3.(*CallBack)(char *p):这个函数有一个参数,类型为char*
4.int(*CallBack)(char *p):这个函数有一个返回值,类型为int

最终:CallBack是一个指针,指向具有一个char*类型参数,且返回一个int型数据的函数
前面有个typedef,所以现在CallBack是这种类型的别名

int func(char *p){
...
}

...
CallBack my_callback1 = func;//OK
CallBack my_callback2 = &func;//OK
以上二者均可

查看完整回答
反对 回复 2019-03-17
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

将callback 定义为以char*和int为参数并返回char*的函数指针类型
例如定义 callback fun1;
以后fun1就可以以这样的形式使用:
char *pChar;
char *b;
int c;
pChar = fun1(b, c);

查看完整回答
反对 回复 2019-03-17
  • 3 回答
  • 0 关注
  • 1165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信