C程序的内存镜像

3/8/2017来源:ASP.NET技巧人气:541

C程序的内存镜像

内存地址从低地址到高地址依次是 代码区 -> 常量存储区 -> 静态存储区 -> 堆(heap) -> 栈(stack)

代码区和常量存储区称为 只读存储区 堆和栈称为 动态存储区

**

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

**