午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

C中內(nèi)存建立與釋放的函數(shù)

 燒包谷f(wàn)ree 2013-08-06

malloc()和free()的基本概念以及基本用法:

1、函數(shù)原型及說(shuō)明:

void *malloc(long NumBytes):該函數(shù)分配了NumBytes個(gè)字節(jié),并返回了指向這塊內(nèi)存的指針。如果分配失敗,則返回一個(gè)空指針(NULL)。

關(guān)于分配失敗的原因,應(yīng)該有多種,比如說(shuō)空間不足就是一種。

void free(void *FirstByte): 該函數(shù)是將之前用malloc分配的空間還給程序或者是操作系統(tǒng),也就是釋放了這塊內(nèi)存,讓它重新得到自由。

2、函數(shù)的用法:

     其實(shí)這兩個(gè)函數(shù)用起來(lái)倒不是很難,也就是malloc()之后覺(jué)得用夠了就甩了它把它給free()了,舉個(gè)簡(jiǎn)單例子:

        // The Code... 
        char *Ptr = NULL; 
        Ptr = (char *)malloc(100 * sizeof(char)); 
        if (NULL == Ptr) 
    { 
        exit (1); 
    } 
        gets(Ptr); 

        // code... 
        free(Ptr); 
        Ptr = NULL; 
        // code...

   當(dāng)然,具體情況要具體分析以及具體解決。比如說(shuō),你定義了一個(gè)指針,在一個(gè)函數(shù)里申請(qǐng)了一塊內(nèi)存然后通過(guò)函數(shù)返回傳遞給這個(gè)指針,那么也許釋放這塊內(nèi)存這項(xiàng)工作就應(yīng)該留給其他函數(shù)了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多