我有一个unsigned char* head
指向内存中某个地址的指针,现在我必须创建一个 typedef 结构,我已经声明从该指针的位置开始......我对如何做到这一点感到困惑!
这是 typedef 的声明
typedef struct {
struct block *next;
struct block *prev;
int size;
unsigned char *buffer;
} block;
我的任务涉及实现malloc,所以我不能使用malloc。块是 free_list 的一部分,它包含我在程序堆中拥有的所有空闲内存块块。因此,指向前一个和下一个空闲内存块的前一个和下一个指针。
Head 指向 free_list 的开始。当我必须拆分说第一个空闲内存块以满足需要更少空间的 malloc() 请求时,该空闲块有我需要移动我的头并在那里创建一个新的块结构。
希望这是有道理的。如果不是,则作业看起来像这样