关于void *和(void *)和void **的问题

云计算爱好者V 2016-05-20 04:24:23
就像下面这两个函数定义中的
int pthread_creat(pthread_t *thread, pthread_attr_t *attr, void*(*strat_routine)(void *), void *arg);
中的void *(*start_routine)(void *)是什么意思?
还有下面这个例子
int pthread_join(pthread_t th, void **thread_return);
中的void **thread_return是什么意思?

谢谢
...全文
569 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 paschen 的回复:
void *(*start_routine)(void *) 是一个函数指针,指向的函数类型是参数与返回值都为void*的 void **thread_return 就是 void**类型,也就是指向void*的指针的类型
谢谢,明白了~
  • 打赏
  • 举报
回复
引用 2 楼 qq423399099 的回复:
你定义了一个函数指针。名字叫 start_routine 。 这个函数的返回值是void *(一个指针) 参数是void *(一个指针) void **thread_return就表示二级指针(指针的指针)
谢谢了 明白了~
冷西瓜 2016-05-22
  • 打赏
  • 举报
回复
paschen 2016-05-21
  • 打赏
  • 举报
回复
void *(*start_routine)(void *) 是一个函数指针,指向的函数类型是参数与返回值都为void*的 void **thread_return 就是 void**类型,也就是指向void*的指针的类型
小灸舞 版主 2016-05-20
  • 打赏
  • 举报
回复
你定义了一个函数指针。名字叫 start_routine 。
这个函数的返回值是void *(一个指针)
参数是void *(一个指针)

void **thread_return就表示二级指针(指针的指针)
赵4老师 2016-05-20
  • 打赏
  • 举报
回复
强制类型转换

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧