定义局部变量数组大小过大报错
Posted 双河子思
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定义局部变量数组大小过大报错相关的知识,希望对你有一定的参考价值。
如果定义的局部变量数组大小过大,编译器会报错“栈溢出”。
数组声明在函数内部,属于局部变量,存放在了栈上,如果数组过大比如a[1000000]。那数组占用的内存大小为:1000000*4byte约等于4M。而栈的默认内存空间为1M左右,所以会导致内存溢出解决这个问题。
解决这个问题方法为:可以将数组声明在全局存储区或堆上即可
方法一:申明为全局变
方法二:存放在堆上
以上是关于定义局部变量数组大小过大报错的主要内容,如果未能解决你的问题,请参考以下文章
JVM虚拟机------运行时数据区-----JVM虚拟栈----局部变量表