C 語言中 malloc、calloc、realloc 和free 函數的使用方法

1、malloc()

頭文件:stdlib.h

聲明:void * malloc(int n);

含義:在堆上,分配n個字節,並返回void指針類型。注意:內存是不乾淨的,還殘留上一次數據

返回值:分配內存成功,返回分配的堆上存儲空間的首地址;否則,返回NULL

2、calloc()

頭文件:stdlib.h

聲明:void *calloc(int n, int size);

含義:在堆上,分配n*size個字節,並初始化爲0,返回void* 類型。內存是乾淨的

返回值:同malloc() 函數

3、recalloc()

頭文件:stdlib.h

聲明:void * realloc(void * p,int n);

含義:重新分配堆上的void指針p所指的空間爲n個字節,同時會複製原有內容到新分配的堆上存儲空間。注意,成功分配內存後 p 將被系統回收,一定不可再對 p 指針做任何操作,包括 free(),只能對 realloc 返回值(void *)進行內存回收

返回值:同malloc() 函數

4、free()

頭文件:stdlib.h

聲明:void  free (void * p);

含義:釋放void指針p所指的堆上的空間。

返回值:無

5、memset()

頭文件:string.h

聲明:void * memset (void * p, int c, int n) ;

含義:對於void指針p爲首地址的n個字節,將其中的每個字節設置爲c。

返回值:返回指向存儲區域 p 的void類型指針。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章