static 对于变量和函数一共有三个作用:

1. 表示该变量是局部静态变量,该变量的空间分配在静态存储区, 在程序整个运行期间都不释放,并且在定义时自动被初始化。如果对同名的非static变量进行赋值,不会改变static变量的值。

2. 可以隐藏变量和函数,用来表示不能被其它文件访问的全局变量和函数。为了限制全局变量/函数的作用域, 函数或变量前加static使得函数成为静态函数。

3. 类里面的Static函数 ,这个只有C++才有。表示该函数属于类,而不属于类的对象。调用的话要通过类来调用,不能通过对象调用。