首页 > 代码库 > 程序内存地址的分配
程序内存地址的分配
程序的内存分为四个部分:
代码区
全局栈
堆
局部栈
代码区存放执行代码,以及一些全局常量,宏定义等内容。
全局栈存放着全局静态变量。
局部静态变量存放在局部栈中。
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
程序内存地址的分配
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。