C中的static

C中的static
static关键字在C中有几种用法,但它们之间的含义却没什么联系,有时候会让人感觉有点费解。
    1.static可以用来修饰变量,这时候表示这个变量是存储在静态存储区的,即程序一运行,就为其分配内存,直至程序结束。实际上是在main()函数执行之前为全局变量和静态变量分配内存。但是变量在整个程序运行周期都存在并不表示在整个程序中都可使用,对于局部变量,加static后其作用域不变,仍然是局部的。对于全局变量,加上static后变量的作用域由全局作用域变为文件作用域,即只有在当前文件中是可见的。
    2.static还可以用来修饰函数,在修饰函数时的作用与修饰全局变量类似,说明该函数只对本文件可见。

你可能感兴趣的:(C中的static)