資源簡介
使用C語言實現內存的動態分配與釋放的模擬
代碼片段和文件信息
#include?
#include?
#include?
#define?SIZE?512//內存總容量
#define?size?2//基本內存大小
static?int?temp;
typedef?struct??Area
{
int?m_size; //空閑大小
int?b_size; //分配大小
int?flag; //表示當前節點的狀態,0表示節點為空閑區,1表示節點為以分配區
struct?Area?*next;??//鏈接指針
}?SubAl;
/*---------------------------刪除節點----------------------------------*/
void?Delete(SubAl?**Head?SubAl?*del)
{
SubAl?*Fp?=?NULL; //查找待刪結點的上一個結點
Fp?=?*Head; //指向頭結點,開始查找定點的上一個結點
while?(Fp->next?!=?del) //否則循環遍歷
{
Fp?=?Fp->next;
}
Fp->next?=?del->next; //刪除結點
}
/*---------------------------檢查分配區----------------------------------*/
void?Check(SubAl?**Head)
{
SubAl?*p?=?NULL?*q?=?NULL;
p?=?*Head;//指向頭結點
q?=?p->next;//指向頭結點的下一個結點
//如果下一個結點不為空,判斷他的狀態是否為空分區,頭結點的
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-03-21?09:35??操作系統~動態分配與釋放\
?????文件?????????460??2010-11-25?00:54??操作系統~動態分配與釋放\menu.txt
?????文件????????5544??2010-11-25?01:33??操作系統~動態分配與釋放\subarea.c
?????文件????????4305??2010-11-13?10:21??操作系統~動態分配與釋放\分區分配.dsp
?????文件?????????541??2010-11-13?09:27??操作系統~動態分配與釋放\分區分配.dsw
?????文件??????396288??2010-11-25?01:39??操作系統~動態分配與釋放\分區分配.ncb
?????文件???????54784??2010-11-16?15:32??操作系統~動態分配與釋放\分區分配.opt
?????文件?????????896??2010-11-16?15:30??操作系統~動態分配與釋放\分區分配.plg
?????文件?????????889??2010-11-24?22:33??操作系統~動態分配與釋放\分區分配.sln
?????文件????????9216??2010-11-25?01:39??操作系統~動態分配與釋放\分區分配.suo
?????文件????????5186??2010-11-24?22:33??操作系統~動態分配與釋放\分區分配.vcproj
?????文件????????1427??2010-11-25?01:39??操作系統~動態分配與釋放\分區分配.vcproj.PC-201009031605.Administrator.user
評論
共有 條評論