-2
#include<stdio.h>
#include<unistd.h>
#include<pthread.h>
void* func(void*);
int main()
{
int numb = 0;
pthread_t pid;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_create(&pid, &attr, func, (void*)&numb);
printf("%s%d\n", "Number: ", numb);
return 0;
}
//..............defintation...............
void* func(void* data)
{
int* numb = (int*)data;
*numb = 1000;
}
我想通过引用将数字传递给函数“func”。我通过传递号码“(void *)&麻木”的地址来做到这一点。我在函数中将值更改为1000,并在main中打印值,但输出为0而不是1000.在pthread中通过引用传值
谢谢!
你有一个竞赛条件 - 和'主'赢得 –
@EdHeal:请不要在评论中写回答。评论不受所有常见的答案部分的监督:downvotes,rep,评论,建议的编辑,赏金,对问题管理的贡献(关于可能发生问题的某些事情的规则取决于是否存在答案)等等_Answers属于在答案部分。 ONLY._ –
@BarryTheHatchet - 我不认为我的评论可以作为答案的理由 - 但你为我这样做得到+1 –