如何管理一段内存的分配和释放---2
===========================================================================
下面的这种管理内容的方式,是将一段空间(总共60Byte)划分成2中类型,1和2每段大小相同假设为20Byte;3和4每段相同假设为10Byte;
管理者有个链表,该链表指向1的起始地址;1~4很相似,以2为例。
A---》要能够指向下一个地址空间;
B---》表示该段内存的类型,例如是20Byte的类型还是10Byte的类型;
于是一开始链表的指向就很明确。
管理链表---》1(20Byte)---》2(20Byte)---》3(10Byte)---》4(10Byte);
如果3被分配了,就变成 管理链表---》1(20Byte)---》2(20Byte)---》4(10Byte);
如果3又被释放了,就变成 管理链表---》3(10Byte)---》1(20Byte)---》2(20Byte)---》4(10Byte)---》4(10Byte);
所以这种管理方式就要求使用者在分配的时候要告诉分配哪种类型,在释放的时候是释放的哪种类型;
===========================================================================