作用域是程序的一个区域,从广义上讲,可以在三个地方声明变量-
在一个称为局部变量的函数或块中,
在功能参数的定义中称为形式参数。
在所有称为全局变量的函数之外。
局部变量只能由该函数或代码块内的语句使用。局部变量本身并不为函数所知。
#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