堆和栈是C/C++编程中经常遇到的概念,也是计算机的基础知识。简单地说,它们都是存放数据的一种结构。不同的是,栈是由底层系统支持的,CPU直接支持栈结构,这种结构的特点是访问快速,但是能存放的数据类型有限制,一般是浮点型,整数,指针这些基本类型。而堆是由上层系统所支持的。它的特点是使用灵活,可存放的数据类型多。可分配存储空间也比栈多,但效率比栈低。