static关键字

在C语言中,关键字static有三个明显的作用:
(1)在函数体,一个被声明为static的变量,这一函数被调用过程中维持其值不变。
(2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问,它是一个本地的全局变量。
(3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

静态全局变量有以下特点:

(1)该变量在.data(已初始化)或者.bss(未初始化)分配内存;

(2)未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非它被显式初始化);

(3)静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;

原文地址:https://www.cnblogs.com/xiaoxing/p/3968614.html