范围是程序的一个区域,一般来说有三个地方,变量可以声明 :
在函数或块中称为局部变量,
在函数参数的定义中称为形式参数.
在所有被称为全局变量的函数之外.
我们将学习什么是一个函数及其后续章节中的参数.这里让我们解释什么是局部变量和全局变量.
局部变量
在函数或块内声明的变量是局部变量.它们只能由该函数或代码块中的语句使用.本地变量不为自己的函数所知.以下是使用局部变量的示例;
#includeusing 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;}
全局变量
全局变量是在所有函数之外定义的,通常在该程序.全局变量将在程序的整个生命周期中保持其值.
任何函数都可以访问全局变量.也就是说,全局变量在声明后可用于整个程序.以下是使用全局变量和局部变量的示例 :
#includeusing 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;}
程序对于局部变量和全局变量可以具有相同的名称,但函数内的局部变量值将优先考虑.例如 :
#includeusing namespace std; // Global variable declaration:int g = 20; int main () { // Local variable declaration: int g = 10; cout << g; return 0;}
编译并执行上述代码时,会产生以下结果 :
10
初始化本地和全局变量
当局部变量是已定义,它未由系统初始化,您必须自己初始化它.当您将它们定义为以下时,系统会自动初始化全局变量;
数据类型 | 初始值设定项 |
---|---|
int | 0 |
char | '\ 0' |
float | 0 |
double | 0 |
指针 | NULL |
正确初始化变量是一个很好的编程习惯,否则程序会产生意想不到的结果.