欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1559|回復: 0
打印 上一主題 下一主題
收起左側

內(nèi)存的malloc和free結構體

[復制鏈接]
跳轉到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-23 23:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
內(nèi)存的malloc和free結構體:
接上文,內(nèi)存也需要像FAT32文件這樣操作。動態(tài)分配這個空間。

那么,一個什么樣的結構,可以滿足內(nèi)存的動態(tài)分配呢?

struct RAM{
int *Pbefore;
int *Pstart;
int lenth;
int *Pnext;
};
int  *Pstart:空白內(nèi)存的首地址
int   lenth:空白內(nèi)存的長度
int   *Pnext:下一個空白內(nèi)存地址
int *Pbefore:上一個空白內(nèi)存地址

動態(tài)分配RAM的過程:
1:順著鏈表一個方向,尋找大于申請空間的RAM

2:找到之后,將Pstart = Pstart + lenth;//修改剩余空間的指針

3:將lenth =lenth - Req_lenth;       //剩余的空間

4:同時回朔上一個空白地址結構,將其Pnext = Pstart; //修改上一個RAM的Pnext指向地址

4:返回最早的地址。


這只是一個最簡單的模型:在這個模型里面,我們只要一找到有空白空間,就進行分配

   其實,是不是可以再找找看,有沒有更合適的空間,剛剛比需要的空間大一點點,這樣,內(nèi)存的使用是不是更有效果呢?!

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表