最近遇到一个很头疼的事情,函数调用后总得不到正确的结果,经过分析和请教才知道,问题出在局部变量的类型上
对于关键字static,可以用在两个地方,一是变量的前面,二是函数的前面,现在分开讲
(一) 变量的前面
用static定义的变量通常是局部变量,定以后变量的值在函数调用结束后不消失而保留原值,即占用的存储单元不释放,在下一次函数调用时,该变量已有值,就是上次调用结束时的值,因此该变量又称为“静态局部变量”。
(二)函数的前面
若函数前用了关键字static,则该函数只能被本.c文件所使用,不能被其他文件调用,这样设置的好处是减小了模块的耦合性
现在对该关键字只理解到这里,如果大家对该关键字有更深刻的理解,请各抒起见 |