为什么 VS Code、C 构建有效但运行代码无效?

时间:2021-02-21 13:51:22

标签: c visual-studio-code

这是我的代码。当我运行代码时,它向我发送了一个错误:

helloworld.c:8:16: error: storage size of 'bin' isn't constant

static int bin[size];

但是当我进行构建时,exe 可以工作。请帮助。

enter image description here

1 个答案:

答案 0 :(得分:1)

在编译时必须知道静态变量的初始化程序。这就是 bin 的声明被拒绝的原因。相反,您需要将 bin 声明为指向整数的指针并动态分配内存,即在运行时:

int *bin = malloc(size * sizeof *bin);

正如 rioV8 所指出的,当您使用完 bin 后,您还应该使用 free(bin) 释放分配的内存。