程序运行时,常见存储区分类及作用

03-20 4287阅读 0评论
作用
栈区(stack)
  • 存放函数的形参和局部变量(auto 类型),由编译器自动分配和释放。
  • 生命周期与函数调用相关,函数结束时自动回收。
  • 栈区的大小有限,通常较小。
  • 例如,函数参数和局部变量。
堆区(heap)
  • 由程序员手动申请和释放,需要注意避免内存泄漏。
  • 存放动态分配的内存,如使用 malloc 或 new。
  • 生命周期由程序员控制,程序结束时可能由操作系统回收。
  • 例如,动态分配的对象、数组等。
全局/静态存储区
  • 存放全局变量和静态变量(包括静态全局变量和静态局部变量)。
  • 初始化的全局变量和静态局部变量放在一块,未初始化的放在另一块。
  • 生命周期从定义开始到程序结束。
  • 例如,全局变量、静态变量。
代码区
  • 存放程序的二进制代码。
  • 内存由系统管理。
  • 例如,程序的执行代码。
程序运行时,常见存储区分类及作用 第1张
(图片来源网络,侵删)
程序运行时,常见存储区分类及作用 第2张
(图片来源网络,侵删)

免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,4287人围观)

还没有评论,来说两句吧...

目录[+]