进程可以通过增加堆的大小来分配内存,所谓堆是一段长度可变的连续虚拟内存,始于进程的未初始化数据段末尾,随着内存的分配和释放而增减(见图6-1)。通常将堆的当前内存边界称为“program break”。
稍后将介绍C语言程序分配内存所惯用的malloc函数族,但首先还要从malloc函数族所基于的brk()和sbrk()开始谈起。