• [C++程序设计]全局,局部变量


    在函数声明中出现的参数名,其作用范围只在 本行的括号内。实际上,编译系统对函数声明中的 变量名是忽略的,即使在调用函数时也没有为它们 分配存储单元。例如

    int max(int a,int b);

    int max(int x,int y)

    { cout<<x<<y<<endl; cout<<a<<b<<endl; }

    //函数声明中出现a、b

    //函数定义,形参是x、y //合法,x、y在函数体中有效

    //非法,a、b在函数体中无效 编译时认为max函数体中的a和b未经定义。

    说明:

    (1) 设全局变量的作用是增加函数间数据联系的渠 道。

    (2) 建议不在必要时不要使用全局变量,因为:

    1 全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。

    2 它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。如果将一个函数移到另一个文件中,还要将有关的外部变量及其值一起移过去。但若该外部变量与其他文件的变量同名,就会出现 问题,降低了程序的可靠性和通用性。在程序设计 中,在划分模块时要求模块的内聚性强、与其他模 块的耦合性弱。即模块的功能要单一

    (不要把许多 互不相干的功能放到一个模块中),与其他模块的 相互影响要尽量少,而用全局变量是不符合这个原则的。

    一般要求把程序中的函数做成一个封闭体,除了可 以通过“实参——形参”的渠道与外界发生联系外,

    没有其他渠道。这样的程序移植性好,可读性强。

    (3) 如果在同一个源文件中,全局变量与局部变量 同名,则在局部变量的作用范围内,全局变量被屏 蔽,即它不起作用。

  • 相关阅读:
    OGNL与值栈
    Struts2的数据封装
    Struts2页面配置和访问servlet API
    Struts2入门介绍(二)
    Struts2 入门介绍(一)
    Hibernate批量抓取
    Problem G: STL——整理唱片(list的使用)
    STL详细介绍(更新中~~~)
    Problem E: 数量的类模板
    CF: Long Number
  • 原文地址:https://www.cnblogs.com/galoishelley/p/3850823.html
Copyright © 2020-2023  润新知