什么是C ++中的局部变量和全局变量?

作用域是程序的一个区域,从广义上讲,可以在三个地方声明变量-

  •  在一个称为局部变量的函数或块中,

  •  在功能参数的定义中称为形式参数。

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

局部变量只能由该函数或代码块内的语句使用。局部变量本身并不为函数所知。 

示例

#include <iostream>
using namespace std;
int main () {
   //局部变量声明:
   int a, b;
   int c;

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

   cout << c;
   return 0;
}

输出结果

这将给出输出-

30

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

示例

#include <iostream>
using namespace std;
//全局变量声明:
int g;
int main () {
   //局部变量声明:
   int a, b;

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

   cout << g;
   return 0;
}

输出结果

这将给出输出-

30

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

示例

#include <iostream>
using namespace std;
//全局变量声明:
int g = 20;
int main () {
   //局部变量声明:
   int g = 10;

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

输出结果

这将给出输出-

10
20