C语言里信息封装比较弱,只有静态变量的文件作用域。
如果不加约束,很容易造成全局变量满天飞。
如果定义一个全局结构体,把全局变量都放到这个GlobleVariate里,应该好管一些,至少比裸奔文雅一点。
更进一步,每个模块定义自己的结构体,把模块公共变量放到结构体里。这样把GlobleVariate拆成多个小结构体,会更文雅一些。
大概的伪代码是下面这个样子。
struct GlobleVariate
{
struct ModuleVariate1;
struct ModuleVariate2;
...
如果不加约束,很容易造成全局变量满天飞。
如果定义一个全局结构体,把全局变量都放到这个GlobleVariate里,应该好管一些,至少比裸奔文雅一点。
更进一步,每个模块定义自己的结构体,把模块公共变量放到结构体里。这样把GlobleVariate拆成多个小结构体,会更文雅一些。
大概的伪代码是下面这个样子。
struct GlobleVariate
{
struct ModuleVariate1;
struct ModuleVariate2;
...
}
同时禁止在函数外定义变量,这样可以改善全局变量管理问题。