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

C语言 码拜 9年前 (2016-04-05) 1520次浏览
就像下面这两个函数定义中的
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是什么意思?
谢谢
解决方案

20

你定义了一个函数指针。名字叫 start_routine 。
这个函数的返回值是void *(一个指针)
参数是void *(一个指针)
void **thread_return就表示二级指针(指针的指针)

10

void *(*start_routine)(void *) 是一个函数指针,指向的函数类型是参数与返回值都为void*的
void **thread_return 就是 void**类型,也就是指向void*的指针的类型

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于void *和(void *)和void **的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)