求大神, C语言的问题

static关键字可以将全局变量的作用于限制到本文件 那么static在多文件编译是有用,
单文件编译时static关键字有什么用

关于static这个关键字就是有两个用法:
(1)用于修饰全局变量的时候,就只能在在本文件能用,也就是在声明它的那个文件里面用,其它的文件不能用。
(2)用于一个函数里面修饰的变量,如果在函数里面修饰这个变量的话,会把这个变量的存储类型改变了,它会变成从程序运行开始就一直存在,而且只初始化一次,而且每次操作完了之后都会保存的上次操作后的那个值。详细可以看看我的博客,里面有这篇博文。

这个如果你给他附一个初始者,这个值就不会改变 比如你给他附一个static PI=3.14 ,在本文件中这个PI的值都是3.14;如果给他附别的值,他的值就会改变

在一个文件中,可以修饰变量,也可以修饰函数,当修饰变量时又分为静态全局变量(作用域仅限于被定义的文件中)和静态局部变量(在函数体内定义,只能在本函数使用,由于存储在内存的静态区,变量值不会被销毁,下次也可以继续使用这个值),修饰函数时变为静态函数,作用域就仅限于本文件,不能被外部使用。