就像下面这两个函数定义中的
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是什么意思?
谢谢
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就表示二级指针(指针的指针)
这个函数的返回值是void *(一个指针)
参数是void *(一个指针)
void **thread_return就表示二级指针(指针的指针)
10
void *(*start_routine)(void *) 是一个函数指针,指向的函数类型是参数与返回值都为void*的
void **thread_return 就是 void**类型,也就是指向void*的指针的类型
void **thread_return 就是 void**类型,也就是指向void*的指针的类型