从内存地址制作指针

时间:2019-04-26 06:48:16

标签: c pointers integer

我正在编写一个内存分配器,并且试图将下一个空闲块的地址存储在前一个空闲块的头中。为了访问下一个空闲块的地址,我需要将内存中的4个字节转换为一个指针。最好的方法是什么?

我尝试创建一个指向无符号int的指针,然后将指针的地址设置为所述int的值,但这没有用...

// 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;
}

0 个答案:

没有答案