0

私は自分自身を作成し​​ようとしていますmallocが、1 つの点で立ち往生しています。structご存知のように、この図に示されているように、使用可能なスペースにメタ データとして 割り当てる必要があります。ここに画像の説明を入力

char heap_space[MEM_BUFFER];    
struct myblock
    {
        struct myblock *next;
        struct myblock *prev;
        int size;
        char *buffer;
    }

私は私heap_spaceの「RAM」になるものを持っています。今、私はある点で立ち往生しています:-

私の構造myblockをに割り当てる方法とheap_space、新しいリクエストが来るたびに、myblock割り当てられた (リクエストされた) スペースに従って の場所が変更されることに注意する必要があります。

4

3 に答える 3

0

あなたは宣言するべきです

struct myblock
    {
        struct myblock *next;
        struct myblock *prev;
        int size;
        char buffer[0];
    }

したがって、あなたのmallocは返されmyblockvar.bufferます。

于 2013-07-10T13:45:36.390 に答える