Static变量的作用

1. 全局变量声明为Static全局变量

全局变量是静态存储方式,Static全局变量也静态存储方式,存储方式一样。

但是非静态全局变量的作用域是整个源程序,包括源程序中的各个单文件;而Static全局变量的作用域是单文件,源程序中的其他文件不能使用它,也就是作用域不同。

2. 局部变量和Static局部变量

一旦局部变量声明为Static,就改变了局部变量的存储方式和生存期,static局部变量只被初始化一次,下一次依据上一次结果值。

3. Static函数与普通函数

Static函数与普通函数的作用域不同,Static函数只作用于当前文件。普通函数的定义和声明默认情况下是extern的,但Static函数只是在声明它的文件当中可见,不能被其他文件所用。因此定义静态函数有以下好处:
(1)其他文件中可以定义相同名字的函数,不会发生冲突。
(2)Static函数不能被其他文件所用。



你可能感兴趣的:(C++学习)