【发布时间】:2015-10-12 00:16:37
【问题描述】:
我目前正在通过 C 中的线程工作,并且我目前坚持使用我的一个参数(要排序的数组)来创建线程作为要使用的数组。举个例子:
void* sort(void* param)
如何获取参数,使其可以用作 int 数组局部变量?
还要返回排序后的数组,我只需在最后一行执行return array,
然后做类似int sorted_array[] = pthread_create(&tid, &attr, sort, &un_sorted_array) 的事情来捕捉它?
我是 C 新手,如果有任何帮助,将不胜感激? Using void pointer to an array 这里的解决方案仍然给了我一个无效的初始化器错误。
【问题讨论】:
-
我试着理解那个链接,但我还是卡住了。
-
对于初学者,您应该发布整个代码。
-
void* merge(void* arg) {int *arg_ptr[] = (int*) arg; int arr[] = *arg_ptr;}给了我一个无效的初始化错误 -
试试
void* merge(void* arg) { int *arg_ptr = (int*) arg; }。要获得结果,您需要致电pthread_join。
标签: c arrays multithreading pointers pthreads