读书人

关于动态分配内存的有关问题

发布时间: 2012-03-23 12:06:21 作者: rapoo

关于动态分配内存的问题
引用一个编码器,原始的输出是写到一个磁盘文件,现在要改为输入到内存(一个数组);
原来是一边编码一边向文件追加写,数据长度是未知的,请问现在怎么写到内存中?数组有追加写的方法吗?

[解决办法]
用链表或者malloc,realloc
[解决办法]

探讨

写了个测试程序,realloc之前和之后指向的地址是不同的。首地址改了,那不就是数组元素的首地址改了吗?那肯定应该要将数据复制到新分配的空间

[解决办法]
看你是想解决问题还是学术讨论了。
如果仅仅是为了解决问题的话,在不影响效率的情况下尽可能alloc足够大的内存顺序增加就可以了。
不要把问题想的太复杂,内存资源你很精确地省了下来如果没用也不会给创造啥效益的。不用白不用。
估算一个使用的限度,万一越界再考虑增加的问题。这样才有有效率。

读书人网 >C语言

热点推荐