本帖最后由 john_light 于 2010-9-30 15:26 编辑
举一个不一定恰当的例子,有某个量CalcRlt只能由某个功能模块CalcFunc计算得出,其他地方需要读取使用该量。
static unsigned int CalcRlt;
void CalcFunc(void)
{
...
CalcRlt = ...;
...
}
我们可以考虑定义一个函数CalcRltGet读取该值。
unsigned int CalcRltGet(void)
{
return CalcRlt;
}
这样,CalcRlt被我们制作成一个只读的量,菜鸟同事或老眼昏花的我们都不大会意外写入CalcRlt。
如果把CalcRlt声明成一个全局变量,就存在隐患。 |