内存分为5部分:
1.栈区:
又叫堆栈区,每个函数都有自己的栈区。分配空间比堆区快。函数结束释放空间。(例如a[],int a,……)
2.堆区:
用malloc分配的空间,分配空间速度比栈区慢。只能通过free来释放。不写不会释放,容易造成内存泄漏。(例如malloc())
3.全局变量区:
写在所有函数之外的变量。已初始化的写在前一半,未初始化的写在后一半,并默认为0。所有函数执行完毕释放空间。(例如static int a)
4.只读区:
用来存放常量。所有函数执行完毕释放空间。(例如char* p=“hello”中的hello)
5.代码段:
存放C语言中的for,if,while等语句。