【C++基础】5. 变量作用域

文章目录

  • 【 1. 局部变量 】
  • 【 2. 全局变量 】
  • 【 3. 局部变量和全局变量的初始化 】

  • 作用域是程序的一个区域,一般来说有三个地方可以定义变量:
    在函数或一个代码块内部声明的变量,称为局部变量。
    在函数参数的定义中声明的变量,称为形式参数。
    在所有函数外部声明的变量,称为全局变量。

【 1. 局部变量 】

  • 在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。下面的实例使用了局部变量:
#include 
using namespace std;

int main ()
{
  // 局部变量声明
  int a, b;
  int c;

  // 实际初始化
  a = 10;
  b = 20;
  c = a + b;

  cout << c;

  return 0;
}

【C++基础】5. 变量作用域_第1张图片

【 2. 全局变量 】

  • 全局变量:在所有函数外部定义的变量(通常是在程序的头部)。
  • 全局变量的值在程序的整个生命周期内都是有效的。
  • 全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。
#include 
using namespace std;

// 全局变量声明
int g;

int main ()
{
  // 局部变量声明
  int a, b;

  // 实际初始化
  a = 10;
  b = 20;
  g = a + b;

  cout << g;

  return 0;
}

【C++基础】5. 变量作用域_第2张图片

  • 在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。下面是一个实例:
#include 
using namespace std;

// 全局变量声明
int g = 20;

int main ()
{
  // 局部变量声明
  int g = 10;

  cout << g;

  return 0;
}

【C++基础】5. 变量作用域_第3张图片

【 3. 局部变量和全局变量的初始化 】

  • 当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。
  • 定义全局变量时,系统会自动初始化为下列值:
数据类型 初始化默认值
int 0
char ‘\0’
float 0
double 0
pointer NULL

你可能感兴趣的:(C++,c++,学习,笔记)