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

初始化本地和全局变量

当局部变量是已定义,它未由系统初始化,您必须自己初始化它.当您将它们定义为以下时,系统会自动初始化全局变量;

数据类型初始值设定项
int0
char'\ 0'
float0
double0
指针NULL

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