作用域范围是程序的区域,并从广义上说有三个地方可以变量声明:
-
内部函数或被称为局部变量
-
形式参数 - 函数的参数的定义
-
所有函数外的称为全局变量
我们将学习什么是函数和参数后续章节中。下面就让我们来解释一下什么是局部和全局变量。
局部变量:
这是一个函数或块内声明的变量是局部变量。它们只能由属于该函数或代码块内部的语句中使用。局部变量是不知道自己在外的功能。下面是使用局部变量的例子:
#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
初始化局部和全局变量:
当局变量被定义,它不是由系统初始化,而是用户必须自己初始化。全局变量是由当它们定义为如下系统自动初始化:
数据类型 | 初始化 |
---|---|
int | 0 |
char | ' |