局部变量“int main()”内部的代码,存储在局部区域,除了局部变量还有const修饰的局部变量(常量);全局变量“int main()”外部的代码
静态变量就是“staic+静态变量”,一般存储在全局区中,所以地址也会和全局变量相近,当然,还有常量(字符串常量、const修饰的全局变量和全局常量)
#include<iostream>
using namespace std;
//全局变量
int g_a = 10;
int g_b = 10;
//const修饰的全局变量,全局常量
const int c_g_a = 10;
const int c_g_b = 10;
int main()
{
//全局区
//全局变量、静态变量、常量
//创建普通局部变量
int a = 10;
int b = 10;
cout << "局部变量a的地址为:" << (int)&a << endl; //地址
cout << "局部变量b的地址为:" << (int)&b << endl; //地址
cout << "全局变量g_a的地址为:" << (int)&g_a << endl; //地址
cout << "全局变量g_b的地址为:" << (int)&g_b << endl; //地址
//静态变量 在普通变量前面加个static,属于静态变量(静态变量的地址和全局变量地址离得很近)
static int s_a = 10;
static int s_b = 10;
cout << "静态变量s_a的地址为:" << (int)&s_a << endl; //地址
cout << "静态变量s_b的地址为:" << (int)&s_b << endl; //地址
//常量
//字符串常量
cout << "字符串的常量为" <<(int)& "Hello World" << endl;
//const修饰的变量
//const修饰的全局变量,const修饰的局部变量
cout << "const修饰的全局常量 c_g_a的地址为:" << (int)&c_g_b << endl;
cout << "const修饰的全局常量 c_g_b的地址为:" << (int)&c_g_b << endl;
const int c_1_a = 10; //c-const g-global l-local
const int c_1_b = 10;
cout << "const修饰的局部常量 c_1_a的地址为:" << (int)&c_1_b << endl;
cout << "const修饰的局部常量 c_1_b的地址为:" << (int)&c_1_b << endl;
system("pause");
return 0;
}
基本上运行的话局部区内元素相近,全局区内元素相近
总结过来就是这里