数组会不会溢出?

2019-07-17 10:23发布

最近在写一个处理大量数据的采集程序,遇到一个问题,请大神们解答解答。
如果我定义一个一维数组,但我事先不知道有多少元素,所以只能初始化为一个元素。然后在采集数据期间,不断的在这个数组后面加入元素。那么问题来了,这个数组会不会溢出?比方说,这个数组加到第十个元素时,在内存中,这个数组所对应的内存块后面有另外的变量(例如另一个数组的元素),此时如果再向前面所说的数组的最后面加入元素,会不会把另一个数组的元素给覆盖掉?

或者哪位大神给解答一下,数组的工作原理。数组最后一个元素有没有下一个元素的指针?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
andy_wsj
2019-07-17 14:57
这个已经不是数组的概念了吧,数组的内存是连续分配的,逐渐增加在内存中如果有大片连续的内存可以做到,但是一旦超过最大连续范围,使用分配函数就会失败。如果没有使用内存分配函数,那么程序就会崩溃。有指针的做法是链表,但是内存会增加很多额外开销。数组的最后一个元素的下一个没定义进去是不能直接使用的。 最佳答案

一周热门 更多>