我正在为一个库编写一个简单的函数,它将接受我的其他函数管理的内存大小作为参数。
我有一个数据结构,它保存了用户初始化的这个大内存池的信息。
typedef struct memBlock{
struct memBlock* next;
unsigned int size; // Size of this block
unsigned int is_used; // bool 0 = not used 1 = used
} memBlock;
我也有这个功能,我想弄清楚如何初始化这个数据结构以及分配足够的空间来最初管理?
int initialize_memory(unsigned long size){
memBlock *ptr; // the beginning of our whole memory to be handled
ptr = malloc(size); // this is the ptr to the original memory first allocated.
ptr->next = NULL;
ptr->size = NULL;
ptr->is_used = 0;
has_initialized = 1; // the memory has been initialized
}
请帮忙