内存地址从低地址到高地址依次是 代码区 -> 常量存储区 -> 静态存储区 -> 堆(heap) -> 栈(stack)
代码区和常量存储区称为 只读存储区 堆和栈称为 动态存储区
**
代码区: 机器代码 常量存储区: 程序中的字符串 静态存储区: 静态变量和全局变量 栈: 存放函数参数值和局部变量值 执行函数调用分配内存,执行结束释放内存,存在时间由系统决定 栈的数据存储形式: 后进先出 栈底在高地址端,存放数据向低地址端进行,可以理解为向下生长 栈的空间是 M 兆级的 堆: 动态分配函数调用的内存都是在堆上调用的,存在周期由程序员决定。 堆从地地址端开始分配 向上生长 易容易造成内存泄露堆的空间是 G 级
**
新闻热点
疑难解答