gpt4 book ai didi

c - 如何将结构复制到线程的本地结构中

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:55 25 4
gpt4 key购买 nike

这是我的结构:

struct example {
int c=0;
char buf[10];
}

我在 main() 中分配了一个这种类型的结构

...
struct example *ex=malloc(sizeof(*ex));
...

并通过

传递给一个线程
...
pthread_create(&id[i], NULL, t_func, ex);
...

pthread_create 被调用到 main 的子项中。

t_func 是:

void *t_func(void* args) {
struct example *extmp = args;
....

我如何在每个线程中创建一个本地struct example 并将struct 和args 的值复制到其中?我需要它,这样如果我修改本地结构的一个字段,就不会在其他线程中看到。我看过其他类似的问题,但我还没有找到我的答案......

最佳答案

在 C 中,您可以分配结构类型的对象:

struct example *extmp = args; 
struct example local_copy = *extmp;

关于c - 如何将结构复制到线程的本地结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com