c - 在结构体中创建数组时的"Type variable-sized object may not be initialized"(C语言)

标签 c arrays struct

我必须在结构中创建一个数组,并在每次程序收到 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/

相关文章:

c - realloc 失败的可能性有多大?

php - 从 Paypal 支付意图多维数组中获取值

c - 将文件中的单词加载到 C 中的数组中

c - 指向 "typedef struct"声明的指针

c - 在 C 编程中使用 for 循环填充 3d 数组

c - 以下代码的输出

c - 无法理解此片段的某些部分?

javascript - 访问名称中具有特定值的特定数组

c - 使用 c 仅从文本文件中获取数字

c++ - volatile struct = struct 不可能,为什么?