calloc 函式和malloc 函式

2021-06-03 00:37:02 字數 618 閱讀 8879

calloc(配置記憶體空間)

malloc,free,realloc,brk

#include

void *calloc(size_t nmemb,size_t size);

calloc()用來配置nmemb個相鄰的記憶體單位,每一單位的大小為size,並返回指向第乙個元素的指標。

這和使用下列的方式效果相同:malloc(nmemb*size);不過,在利用calloc()配置記憶體時會將記憶體內容初始化為0。

若配置成功則返回一指標,失敗則返回null。

/* 動態配置10個struct test 空間*/

#include

struct test

void main()

備註:

1. calloc()函式相比malloc()函式的優點是,將所分配的記憶體初始化為0;

2. 範例中calloc()函式的引數順序是先size後個數,與函式定義中先個數後size的格式不同,編譯使用都沒有問題,但是正確的寫法可讀性強一些,而且養成規範的習慣可以減少很多不必要的出錯機會,和正常的說話順序也很接近,比如我們都說「我要5個int」,而不說「我要int 5個」;

定義中的引數順序比較規範,應按照定義中給出的順序寫**。

函式malloc 和calloc 介紹

函式malloc 和calloc 都可以用來動態分配記憶體空間,但兩者稍有區別。malloc 函式有乙個引數,即要分配的記憶體空間的大小 void malloc size t size calloc 函式有兩個引數,分別為元素的數目和每個元素的大小,這兩個引數的乘積就是要分配的記憶體空間的大小。vo...

函式malloc 和函式calloc 區別介紹

參考 表示感謝!函式 malloc 和calloc 都可以用來動態分配記憶體空間,但兩者稍有區別。malloc 函式有乙個引數,即要分配的記憶體空間的大小 void malloc size t size calloc 函式有兩個引數,分別為元素的數目和每個元素的大小,這兩個引數的乘積就是要分配的記憶...

malloc 和 calloc 的區別

void calloc size t num elements,size t element size void malloc size t size calloc和malloc都用於分配記憶體。1.malloc函式 malloc函式可以從堆上獲得指定位元組的記憶體空間,其函式宣告如下 void m...