在C 中,下列函数的声明在
stdlib.h
中,在 C++, 声明在cstdlib
中
malloc
malloc(memory allocate)在堆上分配内存, 分配内存块
函数原型为:
void* malloc(size_t size);
size
: 所需内存字节数http://www.cplusplus.com/reference/cstdlib/malloc/
realloc
re-allocate, 重新分配内存块
函数原型为:
void* realloc (void* ptr, size_t size);
ptr
指向的内存块的大小, 此函数可能会移动内存块到一个新的位置。ptr
,指向被分配的 内存块size
, 目标内存块大小http://www.cplusplus.com/reference/cstdlib/realloc/
calloc
函数原型为:
void* calloc (size_t num, size_t size);
num
, 元素的个数size
, 每个元素的大小num*size
个 字节,并初始化为 0http://www.cplusplus.com/reference/cstdlib/calloc/
free
函数原型为:
void free (void* ptr);
ptr
, 内存块的第一个字节的地址(malloc,realloc,calloc 的返回值)memcpy和 memmove 在头文件
string.h
(C)/cstring
(C++)中,
memcpy
函数原型:
void * memcpy ( void * destination, const void * source, size_t num );
函数原型:
void * memmove ( void * destination, const void * source, size_t num );