fushilin 2020-06-28
主要用于存储函数的参数和局部变量。栈区由系统进行内存管理,在函数执行完成时,系统自动释放栈区的内存,
而不需要用户的参与,整个程序的栈区的大小可以在编译器中由用户自行设定。
由用户手动申请,手动释放。 如果用户忘记对所申请的内存资源进行释放,该内存资源可能会在程序结束时由操
作系统进行释放(也可能不会)。
用来存放程序中的全局变量和静态变量。 在c语言中,初始化的全局变量和静态变量存放在一块内存区域中,而未
初始化的全局变量和静态变量存储在另一块相邻的存储区域。而在c++中则没有在静态存储区中将初始化和未初始
化的进行分开存储,因为c++会对未初始化全局变量和静态变量进行默认初始化(一般默认初始化为0)。该存储区
域的数据会在程序结束后由系统来释放。
[注意]:
全局变量和静态变量在c++中存储方式是一样的,但不同的是全局变量在整个源代码中都是可以使用的,而静态变量
只能在当前文件中使用。
用来存储程序中的常量, 比如const常量,字符串常量等都存储在这个区域。该存储区域的数据会在程序结束时由系
统进行释放。
存放程序体的二进制代码。 比如我们程序中自定义的函数,其函数体就是以二进制代码的形式存储在这个区域的。