一:概述:
堆是一个大容器,它的容量要远远大于栈,这可以解决由于栈造成的内存溢出的困难(由于栈一般都是以k为单位,如果程序中直接将较大的数组保存在函数内的栈变量中,很可能会内存溢出)。一般比较复杂的数据类型都是放在堆中。但是在C语言中,堆内存空间的申请和释放需要手动通过代码来完成.
二.介绍:
在这个文件中:
#include "stdlib.h"
有这两个函数:
void *malloc(size_t __size) __result_use_check __alloc_size(1);
void free(void *);
如果malloc分配成功:则返回指向被分配内存空间的指针
不然,返回空指针NULL。