我必须在结构中创建一个数组,并在每次程序收到 SIGUSR1 信号时添加不同的值。
这是代码
if (signo == SIGUSR1){
signal(SIGUSR1, NewUser);
if (NewUser()<11){
i++;
struct users user[i] = {i,0,count};
pthread_create(&tid, NULL, (void*)Actions, &user);
}
(我从“NewUser()”收到“count”)
“users”是一个全局变量,问题出在哪里以及如何修复它?
谢谢
最佳答案
这是更正...
user[i] = (struct user){i,0,count};
当您输入 struct users user[i] = ...
时,您将声明一个新变量,而不是为现有全局变量赋值。
关于c - 在结构体中创建数组时的"Type variable-sized object may not be initialized"(C语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373798/