动态分配和释放内存

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,分配空间

wKiom1WdFu7gQimrAABU2MFNHjY901.jpg


malloc,分配空间

wKioL1WdGL7DjBPrAACfRnct9dU842.jpg


realloc,调整空间

wKioL1WdGL7xKHsQAACJ9pCWbOY664.jpg



 

wKiom1YbpuWiRQ3yAABm5lAGjro733.jpg

你可能感兴趣的:(include,动态,空间)