欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
malloc函數和free函數 - 計算機應用 - 同江職教網(wǎng) -- 職業(yè)教育 外語(yǔ)教程 ...
malloc函數和free函數

 

 

[ 錄入者:tjzj | 時(shí)間:2008-10-25 17:35:02 | 作者: | 來(lái)源: | 瀏覽:238次 ]

<<同江職教網(wǎng)歡迎你---累了聽(tīng)會(huì )歌吧--奧運主題歌 我和你>>

 

假設您的程序在執行過(guò)程中需要分配一定量的內存。您可以隨時(shí)調用malloc函數從堆中申請一塊內存。在操作系統為您的程序預留出這塊內存,之后您就可以隨意使用它了。用完之后,要使用free函數將這塊內存返回給操作系統進(jìn)行回收。以后其他程序還可以按自己的需要預留這塊內存。

作為例子,下面的代碼演示了最簡(jiǎn)單的使用堆的方法:

int main()
{
int *p;

p = (int *)malloc(sizeof(int));
if (p==0)
{
printf("錯誤:內存不足n");
return 1;
}
*p=5;
printf("&dn", *p);
free(p);
return 0;
}

 

程序的開(kāi)始調用了malloc函數,這個(gè)函數做了三件事:

  1. malloc語(yǔ)句首先檢查堆上的空閑內存總數,然后判斷:“有沒(méi)有足夠的空閑內存可以分配一個(gè)所申請的大小的內存塊呢?”申請的內存塊大小是由傳入malloc的參數確定的——本例中的sizeof(int)是4個(gè)字節。若內存不足,malloc函數會(huì )返回零地址告知發(fā)生的錯誤(零地址的另一種表示是NULL,它在C代碼中很常用)。否則malloc函數繼續執行。

     

  2. 若堆上有足夠的內存,系統就從堆上“分配”或“預留”出指定大小的內存塊。預留的目的是為了防止多個(gè)malloc語(yǔ)句恰巧使用同一個(gè)內存塊。

     

  3. 接下來(lái)系統將預留出的內存塊的地址保存到指針變量中(本例中就是p)。指針變量本身保存了一個(gè)地址。被分配的內存塊能夠存儲一個(gè)指定類(lèi)型的數值,而指針正是指向此數值。
下圖顯示了調用malloc之后的內存狀態(tài):

 


右邊的方框表示malloc分配的內存塊。

接著(zhù)程序用if (p==0)檢查指針p以確定分配申請成功(此行也可寫(xiě)成if (p==NULL)甚至if (!p))。如果分配失?。╬等于零),則程序終止,否則程序將分配的內存塊初始化為5,然后打印內存塊的值,接著(zhù)調用free函數將內存塊返還給堆,最后退出。

前面的章節有一段代碼是將p賦值為一個(gè)現成整數i的地址,而本例中的代碼和那段代碼實(shí)際上并無(wú)不同。區別只是在于:對于變

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C語(yǔ)言深入學(xué)習系列 - 字節對齊&內存管理
c專(zhuān)家編程
C/C 指針使用常見(jiàn)的坑
堆、棧、數據區、bss、代碼段
【鏈表3】動(dòng)態(tài)內存分配
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久