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.