存储区划分:(对任何一块内存其实都包括5个区域)
内存地址从高到低依次是:
1.栈区 2.堆区 3.静态区 4.常量区 5.代码区
1.栈内存特点:由系统分配以及回收内存。函数体被分配的变量被分配在栈区;
2.堆区特点:(重点--动态分配内存),由用户(程序员)申请分配和回收内存。如果你一直开辟内存而不去回收会导致系统内存越用越少,最终导致程序崩溃crash.假如你一直不回收也没崩溃,当你退出程序的时候,系统帮你回收。
3.静态区的特点:定义在函数体外的变量或者由static关键字修饰的变量,程序运行过程中一直存在,直到程序退出的时候,系统自动回收。
4.常量区的特点:用来存放常量的内存区域 9 -2 3.14 mango
5.代码区:把源代码转换成0101 的二进制序列(CPU指令)放在代码区。