C内存分配初始化和处理

rya*_*ata 0 c memory-management pointer-arithmetic

这里的任务有问题.我需要创建一个全局的可用内存块和malloc它.由于类型转换和处理错误而无法初始化它.

像C中的数组,其中第一个数组实际上是指向第一个元素的指针,我的内存块需要类似,我可以使用指针算法来定位内存块.

//global variable
static byte *memory = NULL;

void allocator_init(u_int32_t size){

     *memory = (byte*) malloc(size);
}
Run Code Online (Sandbox Code Playgroud)

这些存储器地址的地址/指针将​​通过结构/链接存储为存储器块的标题.

typedef struct _header {
    int signiture;
    int size;
    header* next;
    header* prev;
} header;
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 5

放下*:

*memory = (byte*) malloc(size);
^
Run Code Online (Sandbox Code Playgroud)

您可能还想放弃演员,但这是您的电话.