码迷,mamicode.com
首页 > 其他好文 > 详细

程序内存地址的分配

时间:2017-04-07 01:05:37      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:udt   bsp   操作   cal   初始化   delete   []   int   内存地址   

程序的内存分为四个部分:

代码区

全局栈

局部栈

代码区存放执行代码,以及一些全局常量,宏定义等内容。

全局栈存放着全局静态变量。

局部静态变量存放在局部栈中。

malloc,new等对象存放在堆当中。

堆的本质上是一种连表结构,里面存放着分配的空间,下一个分配空间的地址,上一个分配空间的地址,以及分配空间的大小。

new 和 malloc的关系。

malloc new new[]

free  delete delete[]

realloc

calloc new[]

new在执行malloc操作后,会执行初始化操作。UDT(user difine type)会根据其构造函数进行默认构造。

delete调用free之后,在释放内存空间的同时,还调用析构函数,再调用free。

定位分配:在指定的内存区域分配内存空间。char a[20],int *p=new(a) int

程序内存地址的分配

标签:udt   bsp   操作   cal   初始化   delete   []   int   内存地址   

原文地址:http://www.cnblogs.com/mingdimowang-lyw/p/6676032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!