Arraylists的动态内存分配?

时间:2013-04-22 23:08:09

标签: memory-management assembly arraylist mips mars-simulator

在使用MARS仿真器上的MIPS ISA读取midi文件后,我试图将解码事件存储在数组列表中,该列表将在每个事件的回放时读取。 由于包含数据结构是一个数组列表,因此它必须能够动态缩小和增长。

在我的方案中,每个事件将作为两个单词存储在一个数组中。这意味着每次向数组列表添加元素时,列表都必须增加8个字节。

我的问题是如何为一个我不知道分配期间大小的数组动态分配足够的内存?我如何通过这个创建的列表?

1 个答案:

答案 0 :(得分:1)

在程序开始时从堆中分配数组的最大可能大小,或者使用可以逐个分配的不同数据结构,例如链接列表。