【C / C++】关于数组太大在编译器不能运行问题

例子:
在这里插入图片描述
你会发现数组定义的太大大于106时就会出现不能运行的错误。
在这里插入图片描述
当我们定义的少一点的时候,就可以运行了。
在这里插入图片描述
当我们把数组定义为全局变量时,数组大于106仍然可以正常地运行。

原因

如果数组大小较大(大概106),则需要将其定义在主函数外面,否则会使程序异常退出,原因是函数内部
申请地局部变量来自系统栈,允许申请的空间较小,而函数外部申请的全局变量来自静态存储区,允许申请的空间较大。

猜你喜欢

转载自blog.csdn.net/qq_46527915/article/details/114544314