DWORD WINAPI MyThread1这个东西的参数到底是什么呀,我见过LPVOID lpParameter还有void * p!

晕了,求解释!还有,那个参数是什么意思呀?... 晕了,求解释!还有,那个参数是什么意思呀? 展开
 我来答
臭屁屁屁屁屁
2012-10-01 · TA获得超过175个赞
知道答主
回答量:125
采纳率:0%
帮助的人:85.3万
展开全部
DWORD WINAPI MyThread1 (LPVOID lpParam)
{
somestruct* pN = (somestruct*)lpParam; // 将参数转为你的类型
pN->m_number;//这里就是利用你传进来的指针进行一个类型转换,然后用这个指针做一些你想要的事
...
return 0;
}
就是说 你传进来一个指针给这个函数 但是呢这个指针是空类型的 因为空类型的指针可以给任何类型的指针赋值 所以要进行一个强制类型转换 就像上面写的一样 然后你就可以进行操作了
顺便说一下LPVOID这个是一个宏定义 表示的是指向空类型的指针
至于你说的参数是什么意思 那就看你要传什么指针进来了
望采纳哦
追问
这个指针的内容怎么穿进去呀?我看创建指针handle=CreateThread(NULL,0,myThread,NULL,0,&dw);没有机会传进去呀?
追答
先来看看这个函数的参数吧:
handle=CreateThread(
NULL, // 没有安全描述符
0, // 默认线程栈的大小
MyThread, // 线程函数指针
(LPVOID)&n, // 这里就是你要传进MyThread函数的参数n
NULL, // 没有附加属性
NULL // 不需要获得线程id
);
第三个参数就是你声明的那个线程函数指针,然后给这个线程函数传参(createthread函数的第四个参数)&n,所以 现在你的这个函数DWORD WINAPI MyThread1 (LPVOID lpParam)就有了一个参数n
懂了吗?
ajwzajwz
2012-10-01 · 超过32用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:20.9万
展开全部
lpvoid void*p 是一个空指针,可以赋值为任何类型,这是C++区别于C的地方。
追问
那那个函数的参数到底什么意思呀?还有,为什么我看到过两种参数?能给解释一下么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式