内存分配管理的代码用C实现计算机等级考试
文章作者 100test 发表时间 2009:07:08 02:56:38
来源 100Test.Com百考试题网
主要是解决自己分配的内存忘记释放的问题,自己定义了几个函数取代了malloc,calloc,realloc,free这几个函数,尽量跟原有用法一致。
头文件mypool.h
#ifndef _MYPOOL_H
#define _MYPOOL_H
struct Node
{
struct Node *preNode.//前一个节点
struct Node *nextNode.//后一个节点
void **varAddr.//存储指针变量的地址
int size.
char freed.
}.
struct Chain
{
struct Node *first.
struct Node *last.
int size.
}.
void InitChain().
struct Node* InitNode(struct Node *pn).
int Push(struct Node *pn).
int RemoveChain(void **id).
int FreeChain().
void* MyMalloc(void **p,int size).
void* MyCalloc(void **p,int nsize,int usize).
void* MyRealloc(void **p,int size).
void MyFree(void **p).
#endif
实现代码:mypool.c
/********************************/
/*这些代码主要是实现对自己分配的内存的管理,