使用的Linux操作系统32位4GB划分为两大部分内核和用户,内核1G,用户3G。
1G的内核地址空间可访问全部的物理内存地址,3G的用户地址空间访问最大3G的物理内存地址。
用户又划分为栈空间,堆空间,(全局)数据区,代码段。
1、栈空间:存储着局部变量,函数形参,自动变量;
2、堆空间:存放malloc、calloc、realloc;
3、(全局)数据区:分为三个部分 bss、ordata、静态数据区;
(1)、bss:存储未初始化的全局变量;
(2)、ordata:存储常量(不可修改的量);
(3)、静态数据区:初始化全局变量、static修饰的变量。
4、代码段