linux 线程pthread_join 传递二级指针的疑惑 ?

meluobote 2016-12-01 06:17:11
第一种:
int *result;
pthread_join(th,(void**)&result);
printf("result is %d\n",(int) result);

第二种:

int result;
pthread_join(th,(void*)&result);
printf("result is %d\n", (int)result);

第一种的pthread_join里面传的是二级指针,第二种里面传的是一级指针。 但是这个函数要求的是第二个参数为二级指针啊,我不太明白第二种为什么可以?
难倒第二种是二级指针??

望大虾们解惑 啊,谢谢



...全文
298 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
meluobote 2016-12-02
  • 打赏
  • 举报
回复
第二种只是强转成了一级指针,你为什么说是实参是二级指针呢
nswcfd 2016-12-02
  • 打赏
  • 举报
回复
都可以,反正thread的返回结果只能是一个long pointer,怎么解释都可以。
ipqtjmqj 2016-12-02
  • 打赏
  • 举报
回复
引用 2 楼 wadfji 的回复:
第二种只是强转成了一级指针,你为什么说是实参是二级指针呢
我看错了,第二种是指向int的一级指针
ipqtjmqj 2016-12-01
  • 打赏
  • 举报
回复
实参传的都是指向int的二级指针,只不过形参是泛型指针是一级的

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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