mallocとfreeについて

struct mem_control_block 
{ 
    int is_available;     // これはマークです
    int size;             // これは実際のスペースのサイズです 
};
void  freevoid * ptr)
{ 
     struct mem_control_block * free ;
     free = ptr- sizeofstruct mem_control_block);
     無料 - > is_available = 1 ;
     戻る; 
}

Freeは、スペースを使用可能な空きスペースに変えるだけであり、初期化は行われないため、mallocを使用してスペースを割り当てるたびに、初期化されます。通常、memset()、たとえばmemset(buf、0、100);

mallocの代わりにcallocを使用してメモリを割り当てることもできます。calloc関数は、適用されたメモリを自動的に初期化します。

おすすめ

転載: www.cnblogs.com/zealfish/p/12690364.html