Я работаю над написанием распределителя памяти и пытаюсь сохранить адрес следующего свободного блока в заголовке предыдущего свободного блока. Чтобы получить доступ к адресу следующего свободного блока, мне нужно преобразовать 4 байта в памяти в указатель. Какой лучший способ сделать это?
Я попытался создать указатель на беззнаковое целое, а затем установить адрес указателя на значение указанного целого, но это не сработало ...
// address where the address to the next free block is stored
void *next_addr(void *ptr){
return ptr-4;
}
// address to next free block
void *next_free(void *ptr){
unsigned int *nxt = next_addr(ptr);
return (void *) *nxt;
}