更新时间:2020年03月31日17时08分 来源:传智播客 浏览次数:
盈禾国际官网入口下载内存四区是哪四区?盈禾国际官网入口下载内存四区分为盈禾国际官网入口下载、盈禾国际官网入口下载、盈禾国际官网入口下载、盈禾国际官网入口下载,下面我们分别介绍详细介绍。
1、盈禾国际官网入口下载
存放 CPU 执行的机器指令。通常盈禾国际官网入口下载是可共享的(即另外的执行程序可以调用它),使其可共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。盈禾国际官网入口下载通常是只读的,使其只读的原因是防止程序意外地修改了它的指令。另外,盈禾国际官网入口下载还规划了局部变量的相关信息。推荐了解传智播客盈禾国际官网入口下载工程师培训课程。
总结:你所写的所有代码都会放入到盈禾国际官网入口下载中,盈禾国际官网入口下载的特点是共享和只读。
2、盈禾国际官网入口下载
盈禾国际官网入口下载中主要存放的数据有:全局变量、静态变量、常量(如字符串常量)
盈禾国际官网入口下载的叫法有很多:盈禾国际官网入口下载、静态区、数据区、全局静态区、静态盈禾国际官网入口下载
这部分可以细分为data区和bss区
2.1、data区
data区里主要存放的是已经初始化的全局变量、静态变量和常量
2.2、bss区
bss区主要存放的是未初始化的全局变量、静态变量,这些未初始化的数据在程序执行前会自动被系统初始化为0或者NULL
2.3、常量区
常量区是盈禾国际官网入口下载中划分的一个小区域,里面存放的是常量,如const修饰的全局变量、字符串常量等
在VS下运行结果如下:
总结:盈禾国际官网入口下载存放的是全局变量、静态变量和常量
在程序运行后由产生了两个区域,盈禾国际官网入口下载和盈禾国际官网入口下载
3、盈禾国际官网入口下载(stack)
栈是一种先进后出的内存结构,由编译器自动分配释放,存放函数的参数值、返回值、局部变量等。在程序运行过程中实时加载和释放,因此,局部变量的生存周期为申请到释放该段栈空间。
vs运行效果如下
4、盈禾国际官网入口下载(heap)
堆是一个大容器,它的容量要远远大于栈,但没有栈那样先进后出的顺序。用于动态内存分配。堆在内存中位于BSS区和盈禾国际官网入口下载之间。一般由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。
vs运行效果如下:
当我们把几个案例放在一起执行,就可以看到内存将每个区域划分的很有条理。每个区域互不干涉,区域中的数据地址也是非常接近的。
猜你喜欢