内存分配
一个C/C++编译所占用的内存分配如下:
1. 栈区
编译器自动分配释放,存放函数参数,局部变量。
2. 堆区
有程序员分配释放,可以存放自定义的类型空间。如果程序员不释放,可能有OS释放。
3. 静态区
存放全局变量,静态变量,包括未初始化的全局/静态变量,已初始化的全局/静态变量。
4. 文字常量区
存放字符串常量。
5. 程序代码区
存放函数体的二进制代码。
一个C/C++编译所占用的内存分配如下:
1. 栈区
编译器自动分配释放,存放函数参数,局部变量。
2. 堆区
有程序员分配释放,可以存放自定义的类型空间。如果程序员不释放,可能有OS释放。
3. 静态区
存放全局变量,静态变量,包括未初始化的全局/静态变量,已初始化的全局/静态变量。
4. 文字常量区
存放字符串常量。
5. 程序代码区
存放函数体的二进制代码。