c语言中static的用法
1.static定义变量:
1).局部:
a.静态局部变量在函数内部定义,生存期为整个源代码,但作用域与自动变量相同,只能在定义的函数里面使用。退出该函数后,虽然此变量还存在内存中,但不能使用。
b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予为0.而对于自动变量不赋值,其值是不确定的。(其值就是“上次”用过此内存残留的值)
2).全局:
全局变量本身就是以静态存储的。对于全局变量和全局静态变量的区别:
全局静态变量只能在声明的这个文件内有效,在其他源文件中无效。
全局变量在其他的文件内也有效。
2.static定义函数:
用static定义的函数和一般函数的区别:
一般函数能被其他的文件引用,而static函数只能被文件内部的函数调用。