内存分为1.代码区(存放的二进制代码,还未运行exe之前 就有代码区 ) 2堆区 3 栈区 4全局区(全局变量 静态变量 以及常量) 不同区域存放的数据被赋予不同的生命周期,给我们更大的灵活编程
代码区1:共享 //对于频繁被执行的程序,只需要有一份代码
2: 只读//防止指令被意外修改
全局区:全局变量,静态变量,常量(字符串常量,其他常量即const修饰的变量——const修饰的全局变量\!const修饰的局部变量不在全局区!)。全局区的数据在程序结束后,由操作系统释放。
栈区:编译器自动分配 存放函数参数,局部变量
堆区:利用new可以将数据开辟到堆区 int*p=new int(10) 指针p是一个局部变量,放在栈上,指针保存的数据在堆区