为啥开辟数组int a[1000000](大数组)放到main函数之前
答案:2 悬赏:80 手机版
解决时间 2021-03-02 12:40
- 提问者网友:我一贱你就笑
- 2021-03-02 00:57
为啥开辟数组int a[1000000](大数组)放到main函数之前
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-03-02 02:11
全局变量在静态存储区分配内存,局部变量是在栈上分配内存空间的,这么大的数组放到栈上不溢出吗?
VC堆栈默认是1M,int a[1000000]的大小是4*1000000,将近4M,远远大于1M,编译连接的时候不会有问题,但运行是堆栈溢出,程序异常终止。
如果你真的需要在堆栈上使用这么大的数组,那么可以在工程选项链接属性里设置合适的堆栈大小。
VC堆栈默认是1M,int a[1000000]的大小是4*1000000,将近4M,远远大于1M,编译连接的时候不会有问题,但运行是堆栈溢出,程序异常终止。
如果你真的需要在堆栈上使用这么大的数组,那么可以在工程选项链接属性里设置合适的堆栈大小。
全部回答
- 1楼网友:未来江山和你
- 2021-03-02 03:05
全局变量在静态存储区分配内存,局部变量是在栈上分配内存空间的,这么大的数组放到栈上不溢出吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯