欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言malloc與calloc區(qū)別詳解

 更新時間:2023年01月13日 09:30:25   作者:CairBin  
本文主要介紹了C語言malloc與calloc區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

區(qū)別

開門見山,malloc與calloc在內存分配時,前者分配一整塊,后者分配n塊,并且后者在分配時會將內存置為0,前者不會內存里是垃圾數(shù)據。

另外它們參數(shù)不同,malloc參數(shù)只有一個無符號整型的num表示分配的字節(jié)數(shù),函數(shù)原型如下

void *malloc(size_t num);

calloc參數(shù)有兩個,分別是無符號整型num表示分配的對象的個數(shù),以及無符號整型size表示每個對象的大小

void *calloc(size_t num, size_t size);

用法

它們在用法上相似,可以起到相同的效果,并且都返回內存的首地址。

以分配容納5個int整型的空間為例,代碼如下

malloc用法

#include <stdio.h>
#include <stdlib.h>

int main()
{
?? ?int *p = (int*)malloc(5*sizeof(int));
?? ?for(int i=0; i<5; i++)
?? ??? ?p[i]=i;

?? ?for(int i=0; i<5;i++)
?? ??? ?printf("%d ",p[i]);

?? ?return 0;
}

calloc用法

#include <stdio.h>
#include <stdlib.h>

int main()
{
?? ?int *p = (int*)calloc(5,sizeof(int));
?? ?for(int i=0; i<5; i++)
?? ??? ?p[i]=i;
?? ?for(int i=0; i<5; i++)
?? ??? ?printf("%d ",p[i]);

?? ?return 0;
}

運行結果
運行結果相同

0 1 2 3 4

到此這篇關于C語言malloc與calloc區(qū)別詳解的文章就介紹到這了,更多相關C語言malloc與calloc內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++?sqlite3數(shù)據庫配置使用教程

    C++?sqlite3數(shù)據庫配置使用教程

    SQLite 是一種嵌入式的關系型數(shù)據庫管理系統(tǒng),它是一個開源項目,已經被廣泛應用于各種應用程序和操作系統(tǒng)中,這篇文章主要介紹了C++?sqlite3數(shù)據庫配置使用,需要的朋友可以參考下
    2023-08-08
  • C++指向函數(shù)的指針用法詳解

    C++指向函數(shù)的指針用法詳解

    這篇文章主要介紹了C++指向函數(shù)的指針用法,對函數(shù)指針的聲明、優(yōu)先級、指針類型等概念做了較為詳盡的分析,需要的朋友可以參考下
    2014-09-09
  • C++中的strcmp函數(shù)

    C++中的strcmp函數(shù)

    strcmp函數(shù)是C++標準庫中用于字符串比較的重要函數(shù),在C++中,字符串比較是一項常見的操作,用于判斷兩個字符串是否相等或者大小關系,本文介紹C++中的strcmp函數(shù),感興趣的朋友一起看看吧
    2024-03-03
  • Objective-C中常用的結構體NSRange,NSPoint,NSSize(CGSize),NSRect實例分析

    Objective-C中常用的結構體NSRange,NSPoint,NSSize(CGSize),NSRect實例分析

    這篇文章主要介紹了Objective-C中常用的結構體NSRange,NSPoint,NSSize(CGSize),NSRect實例分析,有助于更加直觀的理解Object-C常用的結構體,需要的朋友可以參考下
    2014-07-07
  • C++面向對象實現(xiàn)萬年歷的示例代碼

    C++面向對象實現(xiàn)萬年歷的示例代碼

    本文將通過面向對象實現(xiàn)一個簡單的日歷(萬年歷)效果,主要會有以下幾個模塊:模型、視圖、控制,感興趣的小伙伴可以動手嘗試一下
    2022-06-06
  • C++ Boost Atomic詳細講解

    C++ Boost Atomic詳細講解

    Boost是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發(fā)引擎之一,是為C++語言標準庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • 快速掌握VC6.0中各種宏注釋應用(附圖)

    快速掌握VC6.0中各種宏注釋應用(附圖)

    為了方便別人或自己閱讀自己的程序,注釋是堅決不可少的,一個漂亮的程序,不是在于你應用的技術多么高深,而是能夠把高深的技術描述的清楚易懂
    2013-01-01
  • C++模板二段名字查找方法

    C++模板二段名字查找方法

    下面小編就為大家?guī)硪黄狢++模板二段名字查找方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C++讀寫ini配置文件實現(xiàn)過程詳解

    C++讀寫ini配置文件實現(xiàn)過程詳解

    這篇文章主要介紹了C++讀寫ini配置文件實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • C語言中指針的加減運算方法示例

    C語言中指針的加減運算方法示例

    這篇文章主要給大家介紹了關于C語言中指針的加減運算的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C語言具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08

最新評論