man malloc:
动态分配和释放内存
calloc malloc free realloc
语法:
#include <stdlib.h>
*calloc(size_t n, size_t size);
在内存中分配 n 个长度为 size 的连续空间,函数返回一个指向起始地址的指针。当 n 或 size 任意一个为零时,返回 NULL。
*malloc(size_t size);
在内存中分配大小为 size 的存储空间,并且返回其首地址。该函数不会清除指定的内存空间;若 size 为零,返回 NULL。
*realloc(void *ptr, size_t size);
重新分配的空间大小为 size ,并且复制原先指针 ptr 指向的空间内容后释放 ptr 的空间,然后返回新的地址值。分配失败则返回 NULL。
要是 ptr 空间为空,函数等同于 malloc;若 size 为零,指针不空,等同于 free。
生成的空间会按照 size 大小截取原先的内容。若执行失败,原来的空间不动。
void free(void *ptr);
释放以上函数返回指针的内存空间。若指针为空(NULL),不执行任何操作。
calloc,分配空间
malloc,分配空间
realloc,调整空间