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