数据存储方式与内存分配方式

数据存储方式:

1、未初始化的全局变量(.bss段)

2、初始化过的全局变量(.data段)

3、常量数据(.rodata段)

4、代码(.text段)

5、栈(stack)

6、堆(heap)

内存分配方式:

1、从静态存储区域分配。内存在程序编译时就已经分配好,这块内存在程序的整个运行期间都存在,如全局变量、static变量等。

2、在栈上创建。在执行函数时函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算使用内置于处理器的指令集,效率很高,反分配的内存有限。

3、从堆上分配,亦称动态内存分配,程序在运行时使用malloc或new申请所需要的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存周期由程序员决定,使用非常灵活,但问题也很多。

猜你喜欢

转载自blog.csdn.net/ngany/article/details/85205064
今日推荐