zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然C++语言学习笔记:C++ 变量作用域

    作用域是程序的一个区域,一般来说有三个地方可以定义变量:
    在函数或一个代码块内部声明的变量,称为局部变量。
    在函数参数的定义中声明的变量,称为形式参数。
    在所有函数外部声明的变量,称为全局变量。
    局部变量
    在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。下面的实例使用了局部变量:
    #include <iostream>
    using namespace std;
     
    int main ()
    {
      // 局部变量声明
      int a, b;
      int c;
     
      // 实际初始化
      a = 10;
      b = 20;
      c = a + b;
     
      cout << c;
     
      return 0;
    }
    全局变量
    在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。
    全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。下面的实例使用了全局变量和局部变量:
    #include <iostream>
    using namespace std;
     
    // 全局变量声明
    int g;
     
    int main ()
    {
      // 局部变量声明
      int a, b;
     
      // 实际初始化
      a = 10;
      b = 20;
      g = a + b;
     
      cout << g;
     
      return 0;
    }
    在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。下面是一个实例:
    #include <iostream>
    using namespace std;
     
    // 全局变量声明
    int g = 20;
     
    int main ()
    {
      // 局部变量声明
      int g = 10;
     
      cout << g;
     
      return 0;
    }
    当上面的代码被编译和执行时,它会产生下列结果:
    10
    初始化局部变量和全局变量
    当局部变量被定义时,系统不会对其初始化,必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:
    int    0
    char    ''
    float    0
    double    0
    pointer    NULL
    正确地初始化变量是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果。
  • 相关阅读:
    ZOJ 3769 Diablo III(分组背包)
    HDU 1712 ACboy needs your help(分组背包入门题)
    POJ 1170 Shopping Offers(完全背包+哈希)
    HDU 4489 The King’s Ups and Downs
    [转] LINUX 三种网络连接模式
    [转] 软件架构
    [转] 支付宝系统架构内部剖析
    [转] pip镜像升级报警 -trust-host问题解决方案
    [转] Linux 查找文件内容
    [转] CentOS系统目录学习
  • 原文地址:https://www.cnblogs.com/tszr/p/12142830.html
Copyright © 2011-2022 走看看