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;
}

输出

这将给出以下输出:

30

全局变量定义在所有函数之外,通常位于程序的顶部。全局变量将在程序的整个生命周期内保持其值。任何函数都可以访问全局变量。

示例

#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;
}

输出

这将给出以下输出:

30

程序可以对局部变量和全局变量使用相同的名称,但函数内部的局部变量的值将优先。要访问具有相同名称的全局变量,您必须使用作用域解析运算符。

示例

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

   cout << g;   // Local
   cout << ::g; // Global
   return 0;
}

输出

这将给出以下输出:

10
20

更新时间: 2020年2月11日

8K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.