内核空间:放的是与操作系统相关的代码,用户没有权限直接去操作,如果要操作,只能通过api函数进行
栈: 存放与函数调用相关的一些数据
栈帧:函数的参数、函数体中的局部变量、一些寄存器信息
特性:函数调用完成之后,对于的栈帧就被回收了
有默认的大小(linux下默认8M)
**内存映射段:**放置静态库动态库的数据等
堆: 用户进行动态内存申请
C语言中:malloc/calloc/realloc
这些空间用完之后,必须要通过free来进行释放
堆空间相对而言比较大
**数据段:**全局数据(变量和对象),被static修饰数据
特性:当程序启动时,该部分数据的空间就被开辟好了,当程序消亡时而被销毁–即该位置存储的数据生命周期伴随程序
**代码段:**放置用户代码,以及只读常量–比如:“hello”
该位置的数据时不能修改的。
C++动态内存管理
最新推荐文章于 2021-03-20 09:55:08 发布