首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

数组太长了吗。解决方案

2012-03-20 
数组太长了吗。。。。。??[codeC/C++][/code]#includestdio.hint main(){int per[1000000]return 0}运行出

数组太长了吗。。。。。??
[code=C/C++][/code]#include<stdio.h>

int main()
{
int per[1000000];
return 0;
}

运行出现异常错误,应该是不能1000000长的int型数组吧?。。。为什么啊。。。那我该用什么代替啊。。


[解决办法]
int* p = new int[1000000];
[解决办法]
栈无法划分这么大的存储给你用,因为他本身是有大小限制的,用动态创建的方式,如楼上所示
[解决办法]
Stack overflow.
[解决办法]
局部变量声明大数组可能造成栈溢出,他是存在栈里的,栈的大小有限制,VS是1M,楼主栈溢出
[解决办法]
堆栈溢出
局部变量是存放在堆栈中的,堆栈的空间是有限制的

或者可以改为静态变量
static int per[1000000];
[解决办法]
main和其他函数一样, 都叫做函数, 函数里的内容都存储于栈中, 栈非常小, 所以可以使用static修饰, 或者直接放置该变量到全局作用域.

热点排行