上叠层可变大小的数组

时间:2019-02-02 05:54:22

标签: c

我正在尝试在堆栈上分配一个可变大小的数组。该程序使用c99选项进行编译,但是会生成分段错误。我的调试器显示无法将任何值分配给数组im1。

int main()
{
    FILE * file = fopen("./image.jpg", "rb");

    fseek(file, 0, SEEK_END);
    const long len = ftell(file);
    uint8_t im1[len];
    for(int i=0;i<len;i++){
        im1[i] = 0;
    }   

我正在MacOS上进行编程,并使用lldb进行调试。 image.jpg大小为14MB。 for循环的设置功能不起作用。有人可以解释为什么会发生吗?

如果可能的话,我想在阵列分配不上堆而是堆最大化计算速度。

0 个答案:

没有答案