C語言malloc函數
malloc()動態分配內存存儲空間
頭文件:#include<stdlib.h>
原型:void *malloc(size_t size)
參數說明:size
為需要分配的內存空間大小,單位是Byte
函數說明:在堆區分配一塊size Byte
大小的內存空間,用於存放數據,這塊內存空間被分配后不會被初始化,因此這些內存空間對應的值是未知的。如果需要對分配的內存初始化,可以使用 calloc()
函數
返回值:分配成功返回指向分配的內存的指針,注意的是雖然該函數返回值類型是void *
,void
並不是指沒有返回值或者空指針,而是返回指針類型未知,所以在使用malloc()
函數經常要使用到強制類型轉換
char *pr = (char *)malloc(10);
calloc()分配內存空間並初始化
頭文件: #include<stdlib.h>
原型:void *calloc(size_t size, size_t num);
參數說明:num
為需要連續分配的空間的個數,size
為每個分配空間的大小,單位Byte。
函數說明:在內存中動態分配num
個長度為size Byte
的連續的內存空間,並給每個字節都初始化為0。
返回值:分配成功返回指向該內存的地址,失敗則返回NULL,同樣和malloc()
函數一樣的是函數返回值類型是void *
。