位置:首页 > 高级语言 > C++在线教程 > C++变量的作用域

C++变量的作用域

作用域范围是程序的区域,并从广义上说有三个地方可以变量声明:

  • 内部函数或被称为局部变量

  • 形式参数 - 函数的参数的定义

  • 所有函数外的称为全局变量

我们将学习什么是函数和参数后续章节中。下面就让我们来解释一下什么是局部和全局变量。

局部变量:

这是一个函数或块内声明的变量是局部变量。它们只能由属于该函数或代码块内部的语句中使用。局部变量是不知道自己在外的功能。下面是使用局部变量的例子:

#include <iostream>
using namespace std;
 
int main ()
{
  // Local variable declaration:
  int a, b;
  int c;
 
  // actual initialization
  a = 10;
  b = 20;
  c = a + b;
 
  cout << c;
 
  return 0;
}

全局变量:

全局变量在所有函数外定义,通常在程序的顶部。全局变量将持有整个项目的生命期值。

全局变量可以被任何函数访问。也就是说,全局变量可以在整个程序它的声明之后使用。下面是使用全局和局部变量的例子:

#include <iostream>
using namespace std;
 
// Global variable declaration:
int g;
 
int main ()
{
  // Local variable declaration:
  int a, b;
 
  // actual initialization
  a = 10;
  b = 20;
  g = a + b;
 
  cout << g;
 
  return 0;
}

一个程序局部和全局变量的名称可以相同,但局部变量的值在函数内部将优先采用。例如:

#include <iostream>
using namespace std;
 
// Global variable declaration:
int g = 20;
 
int main ()
{
  // Local variable declaration:
  int g = 10;
 
  cout << g;
 
  return 0;
}

让我们编译和运行上面的程序,这将产生以下结果:

10

初始化局部和全局变量:

当局变量被定义,它不是由系统初始化,而是用户必须自己初始化。全局变量是由当它们定义为如下系统自动初始化:

数据类型 初始化
int 0
char '\0'
float 0
double 0
yiibaier NULL

这是一个良好的编程习惯正确初始化变量,否则程序有时会产生意想不到的结果。