C++内存分区

概述

1. C++程序在运行时可以将内存分为5大区:代码区、常量区、全局区、堆区、栈区

 

代码区

1. 代码区存放源程序的二进制代码,代码区的内容是只读的

常量区

1. 常量区中存放字符串常量等,常量区也是只读的

2. const修饰的全局变量存放在常量区

全局区

1. 全局区存放全局变量和static修饰的全局变量和静态变量

堆区

1. 堆区的内存由程序员负责分配和释放,同时堆区的生长方向是低地址向高地址方向

栈区

1. 栈区由编译器控制分配和释放,栈区的生长方向是从高地址到地址

2. const修饰的局部变量不是常量,不存储在常量区,而是存储在栈区

3. 实际测试发现栈区变量中的地址确实比堆区变量中地址很高,但是实际测试中发现栈的生长方向也是由低地址到高地址

 

posted @ 2022-03-20 17:34  m0_46427273  阅读(517)  评论(0)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示