这是我的代码。当我运行代码时,它向我发送了一个错误:
helloworld.c:8:16: error: storage size of 'bin' isn't constant
static int bin[size];
但是当我进行构建时,exe 可以工作。请帮助。
答案 0 :(得分:1)
在编译时必须知道静态变量的初始化程序。这就是 bin 的声明被拒绝的原因。相反,您需要将 bin 声明为指向整数的指针并动态分配内存,即在运行时:
int *bin = malloc(size * sizeof *bin);
正如 rioV8 所指出的,当您使用完 bin 后,您还应该使用 free(bin)
释放分配的内存。