内存可分为物理内存和虚拟内存
物理内存是实实在在的内存;虚拟内存是操作系统虚拟出来的内存。 操作系统会在物理内存和虚拟内存之间做映射。
内存分区在32位系统下,每个进程的寻址范围是4G,0x00 00 00 00 ~ 0xff ff ff ff
写应用程序时,看到的都是虚拟内存的地址。如输出时的%d
32位操作系统中,虚拟内存被分为用户空间和内核空间两部分,其中用户空间占3G,是当前进程所私有的;内核空间占1G,是一个系统中所有的进程所公有的
在运行程序时,操作系统会将虚拟内存进行分区
根据用户空间内存可分为以下几部分
(1)堆:在动态申请内存时,在堆里开辟内存
(2)栈:主要存放局部变量
(3)静态区局区:包括静态变量、全局变量、静态全局变量,未初始化的静态变量、全局变量,初始化的静态变量、全局变量
(4)代码区:存放程序代码
(5)文字常量区:存放常量



