如果定义的局部变量数组大小过大,编译器会报错“栈溢出”。 数组声明在函数内部,属于局部变量,存放在了栈上,如果数组过大比如a[1000000]。那数组占用的内存大小为:1000000*4byte约等于4M。而栈的默认内存空间为1M左右,所以会导致内存溢出解决这个问题。解决这个问题方法为:可以将数组声明在全局存储区或堆上即可 方法一:申明为全局变 方法二:存放在堆上
时间: 2024-10-08 09:45:27
如果定义的局部变量数组大小过大,编译器会报错“栈溢出”。 数组声明在函数内部,属于局部变量,存放在了栈上,如果数组过大比如a[1000000]。那数组占用的内存大小为:1000000*4byte约等于4M。而栈的默认内存空间为1M左右,所以会导致内存溢出解决这个问题。解决这个问题方法为:可以将数组声明在全局存储区或堆上即可 方法一:申明为全局变 方法二:存放在堆上