代码区:存放程序的代码,即CPU执行的机器指令,并且是只读的。
常量区:存放常量
全局区(静态区):静态变量和全局变量都在这里存储,一旦静态区的内存被分配,静态区的内存直到程序结束才会释放。
堆区:给程序员用malloc()申请的,然后用free()释放内存,若申请了堆区内存,忘了释放,容易造成内存泄露。
栈区:存放函数内的局部变量、行参和函数返回值。栈区中的数据范围过了之后,系统会自动回收栈区的内存,不需要开发人员来动手。栈区就像是一家客栈,里面有很多房间,客人来了之后自动分配房间,房间里的客人可以变动,是一种动态的数据变动。