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

关于C语言内存溢出的有关问题.是因为数组长度设定太长了吗

2012-04-07 
关于C语言内存溢出的问题...是因为数组长度设定太长了吗?最近在做matlab的C化,matlab真是比C要智能的多呀!

关于C语言内存溢出的问题...是因为数组长度设定太长了吗?
最近在做matlab的C化,matlab真是比C要智能的多呀!
说问题,是这样纸的...

程序需要处理的数据量较大,但是每次输入的数目又不确定...由于C语言里的数组长度要事先声明,我就直接给每个数组都赋了一个很大的长度,大概50000左右...

程序做完后编译神马的都没有问题,而且跑数目少点的数据,比如说一百多个,结果都是正确的。但是跑几千个数据的时候就不能跑了,显示内存溢出....

求问,怎么会内存溢出呢?我分配给了每个数组50000的长度,但是实际输入数目也就几千,不明白为什么会溢出呢...
有神马解决办法木有?比如改用malloc会不会管用?

跪谢各位大大~另外欢迎讨论各种matlab的C化问题!

[解决办法]
先改用malloc试一下
[解决办法]
这个不大理解。。下面的给力。给解决了。
[解决办法]
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可。

[解决办法]
因为把堆栈用完拉 同楼上 设置为全局变量哈

热点排行