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

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

/ 猿问

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

哆啦的时光机 2019-02-05 11:07:27

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


查看完整描述

3 回答

?
慕雪9262066

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

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

查看完整回答
反对 回复 2019-03-17
?
青春有我

typedef char*(*callback)(char*, int);
是将callback定义成一个函数指针,指向的函数有一个char*类型,一个int型的参数,函数返回值是char*类型

查看完整回答
反对 回复 2019-03-17

添加回答

回复

举报

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