zoukankan      html  css  js  c++  java
  • [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) 如果在同一个源文件中,全局变量与局部变量 同名,则在局部变量的作用范围内,全局变量被屏 蔽,即它不起作用。

  • 相关阅读:
    阈值处理——实例分析
    阈值处理
    split()函数+merge()函数
    imread函数+cvtColor()函数
    OpenCV3.2.0+VS2015开发环境配置
    Javascript中的async await
    React Native 系列(一)
    React Native 系列(三)
    React Native 系列(六)
    React Native 系列(七)
  • 原文地址:https://www.cnblogs.com/galoishelley/p/3850823.html
Copyright © 2011-2022 走看看