c++程序的内存分区
代码区 |
---|
常量区 |
全局数据区 |
堆区 |
栈区 |
1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量值等。
2、堆区(heap):一般由程序员分配释放,随叫随到,挥之即走。
3、全局/静态区(static):全局变量和静态变量的存储是放在一起的,在程序编译时分配。
// 全局变量会初始化为0
int arr1[3][4]; // 会初始化为0
void fun()
{
int arr2[3][4]; // 随机值
}
4、文字常量区:存放常量字符串。
5、程序代码区:存放函数体(包括类的成员函数、全局函数)的二进制代码