打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
void*(*)(void*)何解?
这是个函数指针     前面的void为返回值类型  后面的void*为参数类型
追问:
可是这个一整个就是一个函数的参数啊
难道的函数指针可以使一个函数的参数吗?
追答:
函数指针是可以作为某个函数的参数的,你百度下就可以查阅到相关的文章

类似这种
typedef void (*FunType)(int ); //. 定义一个函数指针类型FunType,
void CallMyFun(FunType fp,int x);
追问:
我感觉这个函数指针的返回类型应该是void*,最后面括号的里的void*是参数,中间那个(*)代表的是指向函数的指针,那函数名怎么没有的?
int pthread_create(pthread_t*,const pthread_att*,void*(*)(void*),void*):整个就是这样的,帮忙看下哦
追答:
(1) 指向函数的指针变量的一般定义形式为:
  数据类型 (*指针变量名)(函数参数列表)
函数名是可以缺省的 作为参数传递的时候会去调和 void*(*)(void*)这个类型相匹配的函数的
追问:
也就是这个函数指针的返回类型是void* ,参数也是void*?
追答:
是的 作为参数调用这个函数的时候 返回类型是void*  就相当于传了一个参数类型为void*

当然这个函数指针的参数也是void*的
追问:
函数指针,指针函数,指向函数的指针,指针类型的函数的具体区别是是什么呢?
追答:
简单的说:
1.函数指针 指向函数的指针 这两个是一个意思 是表示一个指针, 这个指针他指向的是一个函数
2.而指针函数 是表示一个函数 他的返回值类型为指针
具体的区别你可以百度一下 有好多文章的
追问:
那么int pthread_create(pthread_t*,const pthread_att*,void*(*)(void*),void*):中 参数void*(*)(void*),是一个函数指针,如果单独开说void*(*)(void*);就是一个指针函数对吗?作为函数时候void*(*)(void*),中的函数名可不可以省略的?
追答:
作为参数的时候是可以省去函数名的,当时在声明的时候不能省去

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《彻底搞定C指针》第7篇 函数名与函数指针
【转】pthread多线程编程整理 - 与时间赛跑的使者
线程的创建与终止
linux线程库
Linux下的多线程开发案例
##多线程的使用示例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服