(C语言)多线程beginthreadex的第四个参数(结构体)到底怎么设置才能正确传递数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(C语言)多线程beginthreadex的第四个参数(结构体)到底怎么设置才能正确传递数值相关的知识,希望对你有一定的参考价值。

struct test

long b[NUM];
long lleft;
long rright;
;

unsigned __stdcall FirstThreadFunc(void*) //第一个线程函数,函数里调用fun函数进行排序

int left=first.lleft;
int right=first.rright;
fun(first.b,left,right);



hThread[0]=(HANDLE)_beginthreadex(NULL,0,FirstThreadFunc,&first,0,&threadID[0]);

上面我的写法会报错,肯定错的。
能不能帮忙改一下,正确的写法是什么,以及函数里怎么样正确的传递,还有第四个参数的设置。

参考技术A 第四个参数的类型是LPVOID(long型指针),可以进行任意类型的转换,具体函数传参可以参考http://blog.csdn.net/morewindows/article/details/7421759。追问

不对,没有我要的结构体的传递办法

追答

将一个long型指针指向结构体就行了啊

以上是关于(C语言)多线程beginthreadex的第四个参数(结构体)到底怎么设置才能正确传递数值的主要内容,如果未能解决你的问题,请参考以下文章

recv函数的第四个参数是啥意思

C/C++ _beginthreadex 多线程操作

C/C++ _beginthreadex 多线程操作 - 线程同步

C语言编程,求大神解释错误在哪?程序要求是:输入一个数,再输出比这个数大的第四个素数。附我的代码!

多线程CreateThread与_beginthreadex本质区别

高手进,关于C语言在windows上建立多线程的问题(VC6.0上实现)