(1)栈区(stack):由编译器主动分配和开释,寄存函数的参数值、局部变量的值等,其操作方法相似
(2)堆区(heap):一般由程序员分配和开释,若程序员不开释,程序完毕时或许由操作系统收回。分配
(3)大局区(静态区)(static):大局变量和静态变量的存储是放在一块的,初始化的大局变量和静态
(4)文字常量区:常量字符串便是寄存在这里的。
(5)程序代码区:寄存函数体的二进制代码。
例如:
所以堆和栈的差异:
(1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。(2)堆区(heap):
(1)栈区(stack):由编译器主动分配和开释,寄存函数的参数值、局部变量的值等,其操作方法相似
(2)堆区(heap):一般由程序员分配和开释,若程序员不开释,程序完毕时或许由操作系统收回。分配
(3)大局区(静态区)(static):大局变量和静态变量的存储是放在一块的,初始化的大局变量和静态
(4)文字常量区:常量字符串便是寄存在这里的。
(5)程序代码区:寄存函数体的二进制代码。
例如:
所以堆和栈的差异: