C语言里信息封装比較弱,仅仅有静态变量的文件作用域。

假设不加约束。非常easy造成全局变量满天飞。





假设定义一个全局结构体。把全局变量都放到这个GlobleVariate里,应该好管一些,至少比裸奔文雅一点。





更进一步,每一个模块定义自己的结构体。把模块公共变量放到结构体里。这样把GlobleVariate拆成多个小结构体,会更文雅一些。

大概的伪代码是以下这个样子。

struct GlobleVariate



    struct ModuleVariate1;

    struct ModuleVariate2。



    ...

同一时候禁止在函数外定义变量,这样能够改善全局变量管理问题。

最新文章

  1. C#调用SQL Server参数过程传参
  2. POJ3207Ikki's Story IV - Panda's Trick(模板题)
  3. C++ 简易时间类
  4. 转:微博"收藏/赞/转发"技术资料汇总
  5. HBase Client API使用(二)---查询及过滤器
  6. 求职(2015南京站获得百度、美的集团、趋势科技、华为offer)
  7. block, inline和inline-block的区别
  8. 求数组的最小数、最大值,求一组数的平均数,sort函数详解,类数组转数组
  9. 网页版Rstudio︱RStudio Server多人在线协作开发
  10. JSP自定义标签必知必会
  11. ECMA262,JavaScript引擎,浏览器
  12. Web前端方向课程要点:CSS3渐变制作过程
  13. js判断数据类型的四种方法
  14. Numpy:索引与切片
  15. BC32(hdu5182~5185)
  16. js验证input输入正整数 和 输入的金额小数点后保留两位(PC端键盘输入)
  17. ICPC 2015 Shenyang Online-E-EXCITED DATAbase
  18. Fiddler4无法抓取HttpWebRequest本地请求的解决办法
  19. MSSQL DBA权限获取WEBSHELL的过程
  20. 升级CocoaPod遇到ERROR: While executing gem ... (TypeError) no implicit conversion of nil into String问题的解决方法

热门文章

  1. 【LeetCode】105 & 106 Construct Binary Tree from (Preorder and Inorder) || (Inorder and Postorder)Traversal
  2. 网上流行的学生选课相关的50个常用sql语句
  3. nginx下如何配置 ssl证书?腾讯云ssl证书为例!
  4. Java_Web三大框架之Hibernate+HQL语言基础
  5. 注释及Scriptlet
  6. Python 模块的导入 day5
  7. HDU 2414 Chessboard Dance(模拟题,仅此纪念我的堕落)
  8. swift 再识枚举变量
  9. php第十八节课
  10. 阅读《JavaScript设计模式》第三章心得