全局变量:
定义在全部函数外面的变量是全局变量
局部变量:
定义在函数内部的变量是局部变量
变量的使用范围:
全局变量所有的函数中均可使用
局部变量只能在定义的函数内使用
静态变量:
全局变量是静态变量,局部变量经过static修饰后也为静态变量
静态变量的存储地址,在程序的运行过程中不会改变
非静态变量一定是局部变量
在没有明确的初始化时,静态变量会被初始化为0
而非静态变量会被初始化为随机值
非静态变量在程序运行过程中,只能初始化一次:
例如:
#include <iostream>
using namespace std;
void func()
{
static int n = 4;//只被初始化了一次
cout<< n<<endl;
++n;
}
int main()
{
func();func();func();
}
//输出的结果为:
4
5
6
而不是
4
4
4