C-全局与局部多维数组



当我执行此代码时(gcc编译):

#include <stdio.h>
int main() {
    int table[1005][1005];
    return 0;
}

它停止工作,但当我将其更改为:时

#include <stdio.h>
int table[1005][1005];
int main() {
    return 0;
}

它工作得很好。。为什么会具体发生这种情况?全局变量是否有更多的空间可供分配?为什么?

第一种方法可能是在堆栈上创建数组,第二种方法可能将其放入"数据段"。

根据您的平台,分配的金额可能对堆栈来说太大。

相关内容

  • 没有找到相关文章

最新更新