1.内存分区模型
代码区
存放函数体的二进制代码,由操作系统进行管理
全局区
存放全局变量和静态变量以及常量
栈区
由编译器
堆区
程序运行前:
在程序编译后,生成exe可执行程序
代码区和全局区
#include"iostream"
using namespace std;
#include<string>
//全局区 全局变量 静态变量 常量
//全局变量 定义函数外的变量
int a = 10;//全局变量
const int e = 10;//修饰的全局的常量
int main() {
int b = 10;//局部变量
static int c = 10;//静态变量
const int d = 10;//修饰的局部的常量
cout <<& a << " " << &b << " " <<& c << " " <<& d << " " <<& e << endl;//输出地址
return 0;
}
栈区:
#include"iostream"
using namespace std;
#include<string>
//栈区
int* func() {
int a = 10;
return &a;
}
int main() {
int *p = func();
cout << *p << endl;
cout << *p << endl;
return 0;
}