程序中的内存四区
#include<iostream>
using namespace std;
//全局变量
int g_a = 1;
int g_b = 1;
//全局常量
const int c_g_a = 1;
const int c_g_b = 1;
int main()
{
//局部变量
int a = 1;
int b = 1;
cout << "局部变量的a的地址:" << (int)&a << endl;
cout << "局部变量的a的地址:" << (int)&b << endl;
//局部常量
const int c_l_a = 1;
const int c_l_b = 1;
cout << "局部常量的c_l_a的地址:" << (int)&c_l_a << endl;
cout << "局部常量的c_l_b的地址:" << (int)&c_l_b << endl;
//全局变量
cout << "全局变量g_a的地址:" << (int)&g_a << endl;
cout << "全局变量g_b的地址:" << (int)&g_b << endl;
//全局常量
cout << "全局常量c_g_a的地址:" << (int)&c_g_a << endl;
cout << "全局常量c_g_b的地址:" << (int)&c_g_b << endl;
//局部静态变量
static int s_l_a = 1;
static int s_l_b = 1;
cout << "局部静态变量s_l_a的地址:" << (int)&s_l_a << endl;
cout << "局部静态变量s_l_b的地址:" << (int)&s_l_b << endl;
//字符串常量
cout << "字符串常量的地址:" << (int)&("hello") << endl;
}
在运行结果中可以明显的看到全局区和非全局区的变量所在地址有很大的距离