C++核心编程——内存四区全局区

2019-12-25  本文已影响0人  乔大叶_803e
全局区:
  • 全局变量和静态变量存放在此
  • 全局区还包含了常量区,字符串常量和其他常量也存放在此
  • 该区域的数据在程序结束后由操作系统释放
#include<iostream>
using namespace std;
int g_a = 10;
int 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;

  return 0;
}
局部和全局变量存放的地址不同
#include<iostream>
using namespace std;
int g_a = 10;
int 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;

  return 0;
}

静态变量和全局变量存放的是一个区域
上一篇下一篇

猜你喜欢

热点阅读