四个区:堆、栈、数据段、代码段
五个区:堆、栈、数据段、代码段、文字常量区
回答:这样划分应该更合理(划分为5个)
1、栈。在执行函数时,局部变量的存储单元都可以在栈上创建,函数执行结束时存储单元自动释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
2、堆。由malloc分配的内存块。释放由应用程序控制。
3、自由存储区。由new等分配的内存块,由delete来释放。
4、全局/静态存储区。全局变量和静态变量被分配到同一块内存中。
5、常量存储区。存放为常量,不允许修改。