gpt4 book ai didi

c - 动态命名变量

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:08 24 4
gpt4 key购买 nike

我正在创建 n 个线程。我想创建 n 个变量 b1、b2、b3、.、bi、..bn。我怎么能在 C 中做到这一点?我的意思是根据线程数来选择全局变量的名称。

谢谢

最佳答案

取自 NapoleonBlownapart 对 OP 的评论:“你不能。变量名仅在编译时存在,而线程仅在运行时存在。

使用数组,元素的数量与线程的数量一样多。然后使用线程的编号作为数组的索引

请看下面的一些伪代码:

#define THREAD_MAXIMUM (42)

int b[THREAD_MAXIMUM];


thread_func(void * pv)
{
size_t i = (size_t) pv;

int bi = b[i];
...
}

int main()
{
...

for(size_t i = 0; i < THREAD_MAXIMUM; ++i)
{
b[i] = some thread specific number;
create-thread(thread_func, i) /* create thread and pass index to array element);
}

...
}

关于c - 动态命名变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23558682/

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