最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++: Inline function, calloc 對(duì)比 malloc

 更新時(shí)間:2016年07月06日 17:50:31   投稿:lqh  
以下是對(duì)c/c++中的malloc函數(shù)與calloc函數(shù)的區(qū)別以及它們之間的聯(lián)系進(jìn)行了介紹,需要的朋友可以過來參考下

Inline function is like a macro definition. When it was be called in another function, the control right will not be changed to this function. The compiler will just replace the line of inline function with the actual content of the function. We use inline function to eliminate the cost of calling a function.

內(nèi)聯(lián)函數(shù)從源代碼層看,有函數(shù)的結(jié)構(gòu),而在編譯后,卻不具備函數(shù)的性質(zhì)。內(nèi)聯(lián)函數(shù)不是在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移,而是在編譯時(shí)將函數(shù)體嵌入在每一個(gè)調(diào)用處。編譯時(shí),類似宏替換,使用函數(shù)體替換調(diào)用處的函數(shù)名。內(nèi)聯(lián)擴(kuò)展是用來消除函數(shù)調(diào)用時(shí)的時(shí)間開銷。它通常用于頻繁執(zhí)行的函數(shù)。 一個(gè)小內(nèi)存空間的函數(shù)非常受益。

帶參數(shù)的宏定義的一般形式如下:

#define <宏名>(<參數(shù)表>) <宏體>

 其中, <宏名>是一個(gè)標(biāo)識(shí)符,<參數(shù)表>中的參數(shù)可以是一個(gè),也可以是多個(gè),視具體情況而定,當(dāng)有多個(gè)參數(shù)的時(shí)候,每個(gè)參數(shù)之間用逗號(hào)分隔。<宏體>是被替換用的字符串,宏體中的字符串是由參數(shù)表中的各個(gè)參數(shù)組成的表達(dá)式。

#define SUB(a,b) a-b

 如果在程序中出現(xiàn)如下語句:

result=SUB(2, 3);

 則被替換為:

result=2-3;

calloc與malloc的區(qū)別:

calloc在動(dòng)態(tài)分配完內(nèi)存后,自動(dòng)初始化該內(nèi)存空間為零,而malloc不初始化,里邊數(shù)據(jù)是隨機(jī)的垃圾數(shù)據(jù)。

用法:

void *calloc(size_t n, size_t size);

一般使用后要使用 free(起始地址的指針) 對(duì)內(nèi)存進(jìn)行釋放,不然內(nèi)存申請(qǐng)過多會(huì)影響計(jì)算機(jī)的性能,以至于得重啟電腦。如果使用過后不清零,還可以使用指針對(duì)該塊內(nèi)存進(jìn)行訪問.

相關(guān)文章

  • C++非繼承時(shí)函數(shù)成員訪問屬性和類繼承過程中的訪問控制

    C++非繼承時(shí)函數(shù)成員訪問屬性和類繼承過程中的訪問控制

    這篇文章主要介紹了C++非繼承時(shí)函數(shù)成員訪問屬性和類繼承過程中的訪問控制,非繼承時(shí),protected成員和private成員沒有任何區(qū)別,都是類內(nèi)部可以直接訪問它們、類外部的類對(duì)象不可訪問它們、類內(nèi)部的類對(duì)象可以訪問它們,更多詳細(xì)內(nèi)容請(qǐng)參考下面相關(guān)資料
    2022-03-03
  • C++ 網(wǎng)絡(luò)連通性檢測(cè)的實(shí)現(xiàn)方法

    C++ 網(wǎng)絡(luò)連通性檢測(cè)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++ 網(wǎng)絡(luò)連通性檢測(cè)的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)例幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • 使用C語言繪制柱形圖的示例代碼

    使用C語言繪制柱形圖的示例代碼

    常用的統(tǒng)計(jì)圖有條形圖、柱形圖、折線圖、曲線圖、餅圖、環(huán)形圖、扇形圖,這篇文章主要為大家介紹了C語言中繪制條形圖和柱形圖的方法,需要的可以參考下
    2024-02-02
  • 使用mmap實(shí)現(xiàn)大文件的復(fù)制(單進(jìn)程和多進(jìn)程)

    使用mmap實(shí)現(xiàn)大文件的復(fù)制(單進(jìn)程和多進(jìn)程)

    這篇文章主要為大家詳細(xì)介紹了使用mmap實(shí)現(xiàn)大文件的復(fù)制,單進(jìn)程與多進(jìn)程的兩種情況,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C語言小程序 楊輝三角示例代碼

    C語言小程序 楊輝三角示例代碼

    輸入要顯示的楊輝三角的行數(shù),會(huì)打印出金字塔型的楊輝三角,不過行數(shù)太多的話,效果不太好,可以再調(diào)整一下格式控制
    2013-07-07
  • C++實(shí)現(xiàn)LeetCode(143.鏈表重排序)

    C++實(shí)現(xiàn)LeetCode(143.鏈表重排序)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(143.鏈表重排序),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 隊(duì)列的動(dòng)態(tài)鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)代碼分享

    隊(duì)列的動(dòng)態(tài)鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)代碼分享

    DynaLnkQueue.cpp - 動(dòng)態(tài)鏈?zhǔn)疥?duì)列,即隊(duì)列的動(dòng)態(tài)鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
    2014-02-02
  • C++中的delete不會(huì)將操作數(shù)置0

    C++中的delete不會(huì)將操作數(shù)置0

    這篇文章主要介紹了C++中的delete不會(huì)將操作數(shù)置0的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 詳解C++之C++11的牛逼特性

    詳解C++之C++11的牛逼特性

    這篇文章主要介紹了C++之C++11的牛逼特性,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-09-09
  • C語言 淺談棧與隊(duì)列的定義與操作

    C語言 淺談棧與隊(duì)列的定義與操作

    棧和隊(duì)列,嚴(yán)格意義上來說,也屬于線性表,因?yàn)樗鼈円捕加糜诖鎯?chǔ)邏輯關(guān)系為 "一對(duì)一" 的數(shù)據(jù),但由于它們比較特殊,因此將其單獨(dú)作為一章,做重點(diǎn)講解
    2021-11-11

最新評(píng)論

正蓝旗| 岑溪市| 雅安市| 葫芦岛市| 扎囊县| 鄂尔多斯市| 青龙| 望奎县| 安新县| 长岭县| 黄石市| 清苑县| 秭归县| 连城县| 富源县| 芜湖市| 马公市| 化德县| 平和县| 乌鲁木齐县| 徐汇区| 赞皇县| 湄潭县| 荔浦县| 贺州市| 虹口区| 壤塘县| 怀仁县| 扬州市| 星子县| 平谷区| 开封市| 民乐县| 梧州市| 蓬溪县| 隆安县| 特克斯县| 西藏| 长汀县| 合江县| 兖州市|