您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

[编程好习惯] 合理运用静态全局或局部数组

来源:李云 责任编辑:栏目编辑 发表时间:2013-07-01 16:00 点击:
    这里的“合理运用”并不是指“使用全局数组都是合理的”,而是指在没有办法需要使用全局变量的情况下,或者使用全局数组能带来一定的好处时,可以酌情使用静态全局数组。使用静态全局数组的前提是,这一数组的拥有者(任务或模块)具有全局生命周期。所谓全局生命周期是指,其生命周期与整个程序的生命周期是一样的。另外,如果一个变量只需要被一个函数(比如线程或任务的入口函数)使用,那完全可以将其定义为静态局部数组。

    对于多任务(或多线程)环境的程序,不少任务具有全局生命周期,且这些任务可能需要获得内存资源以实现特定的程序逻辑。对于这种情形,任务所使用的内存最好不要采用动态内存分配的方式,即不要采用malloc()(或C++中的new操作符)从堆中获取内存,取而代之的是,最好采用静态全局数组以简化代码。图1示例了thread_authenticator线程采用malloc()初始化其静态全局变量g_aaa_eap_str_buff的代码,图2则示例了采用静态全局数组的方式。

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1