c语言中static的用法

1.static定义变量:

1).局部:

               a.静态局部变量在函数内部定义,生存期为整个源代码,但作用域与自动变量相同,只能在定义的函数里面使用。退出该函数后,虽然此变量还存在内存中,但不能使用。

              b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予为0.而对于自动变量不赋值,其值是不确定的。(其值就是“上次”用过此内存残留的值)

2).全局:

            全局变量本身就是以静态存储的。对于全局变量和全局静态变量的区别:

                            全局静态变量只能在声明的这个文件内有效,在其他源文件中无效。

                            全局变量在其他的文件内也有效。

2.static定义函数:

用static定义的函数和一般函数的区别:

           一般函数能被其他的文件引用,而static函数只能被文件内部的函数调用。

原文地址:https://www.cnblogs.com/pslfree/p/3336904.html