malloc,calloc,realloc用法小結

2021-07-08 11:14:06 字數 517 閱讀 6891

1、原型宣告:

void *malloc(unsigned int size);//向系統聲請分配size個位元組的記憶體空間

void *calloc(size_t n, size_t size);// 在記憶體的動態儲存區中分配n個長度為size的連續空間

void* realloc(void* ptr, unsigned newsize); //為已經分配過記憶體的指標重新分配記憶體空間

如果分配記憶體成功,則返回指向該記憶體空間的指標,否則返回null。

由於返回值為void*,使用時需要作型別轉換。

2、不再使用分配的記憶體時,使用free釋放記憶體,並將指標置為null。

3、calloc在動態分配完記憶體後,自動初始化該記憶體空間為零,而malloc並沒有初始化,裡邊資料是隨機的。通常使用memset初始化清零。realloc分配記憶體如果比原來大,則原來記憶體內容不變(且新增的空間不清零),反之新記憶體保持原來記憶體相對應的內容。

4、realloc並不能保證重新分配記憶體之後記憶體指標保持不變。

malloc,calloc,realloc函式區別

ansi c 說明了三個用於儲存空間動態分配的函式 1 malloc 分配指定位元組數的儲存區。此儲存區中的初始值不確定 2 calloc 為指定長度的物件,分配能容納其指定個數的儲存空間。該空間中的每一位 bit 都初始化為0 3 realloc 更改以前分配區的長度 增加或減少 當增加長度時,可...

malloc calloc realloc之間區別

1.malloc函式 malloc函式可以從堆上獲得指定位元組的記憶體空間,其函式宣告如下 void malloc int n 引數釋義 n 申請空間大小 單個型別大小 總個數 2.calloc函式 calloc函式的功能與malloc函式的功能相似,都是從堆分配記憶體。其函式宣告如下 void c...

localStorage用法小總結

記得前端大神winter說過 要建立起自己的知識體系,第一步 尋找線索 找準確 全面的 第二步,建立聯絡 第三步,是分類 用思維導圖 第四步,是追本溯源 找到最初的那個它 今天,懷著崇拜大神的心情,來學習下 localstorage的基本用法。用到的學習機是chrome瀏覽器,畢竟大廠權威性還是可以...