内存大概可分为栈区, 堆区, 全局区/静态区, 常量区, 代码区.
1.栈区
存放局部变量, 函数的参数值, 函数跳转地址, 先进后出, 一旦出了作用域就会被销毁, 由系统来自动管理内存, 栈区的地址是从高到低分配的
2.堆区
程序员来管理内存, 程序员负责申请和释放, 堆区的地址是从低到高分配的,
3.全局区/静态区
存放全局变量和静态变量(未初始化过, 初始化过), 初始化的全局变量和静态变量存放在一块区域, 未初始化的全局变量和静态变量在相邻的另一块区域, 程序结束后由系统释放
4.常量区
存放常量字符串, 程序结束后由系统释放
5.代码区
存放程序代码, 程序结束后由系统释放