C - 全局与局部多维数组

时间:2015-02-11 01:33:35

标签: c multidimensional-array global-variables local-variables

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

#include <stdio.h>

int main() {

    int table[1005][1005];
    return 0;
}

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

#include <stdio.h>

int table[1005][1005];

int main() {

    return 0;
}

它运作得很好..为什么这个具体发生?全局变量是否有更多的空间来分配?为什么呢?

1 个答案:

答案 0 :(得分:2)

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

根据您的平台,分配的金额可能对于筹码来说太大了。