C语言删除数组元素

C语言删除数组第一个元素或者中间一个元素。为什么数组后面的元素需要往前移?

不前移的话体现不出删除了一个元素。
假如原来的数组元素 :1 2 3 4 5
你把1删除了,那要怎么表示呢 0 2 3 4 5? 还是 2 3 4 5,所以要前移追问

再请教下。数组和其它链式数据结构,放很多很多数据进去内存会溢出报错嘛?

追答

这个我不知道怎么回答,有多少数据,就申请多少内存吧

追问

假如放1亿条数据或者大小4G数据存放进链式的数据结构,会溢出嘛。

追答

不会。。。。。内存申请的够大的话就不会溢出吧

追问

C申请内存有没有上限呢? malloc

追答

追问

按上面所说malloc能申请3G左右。如果机器内存只有5G,我同时执行两个这样进程内存就不够了。

追答

不是 这个是根据系统位数来算的 32位机器下,内存大小 = 2^32 = 4G

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-28
数组是连续储存有意义的数据的,如果你把第一个或者中间的删除了而不把后面的元素前移,那在数组的储存空间当中就会多出一个无意义的数据 0
相似回答