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類型指針。