zoukankan      html  css  js  c++  java
  • 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;
    }

    初始化局部变量和全局变量

    当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:

    数据类型初始化默认值
    int 0
    char ''
    float 0
    double 0
    pointer NULL

    正确地初始化变量是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果。

    MC❤涛
  • 相关阅读:
    2.Android之按钮Button和编辑框EditText学习
    《DSP using MATLAB》Problem 3.8
    《DSP using MATLAB》Problem 3.7
    《DSP using MATLAB》Problem 3.6
    《DSP using MATLAB》Problem 3.5
    《DSP using MATLAB》Problem 3.4
    《DSP using MATLAB》Problem 3.3
    《DSP using MATLAB》Problem 3.2
    《DSP using MATLAB》Problem 3.1
    《DSP using MATLAB》Problem 2.20
  • 原文地址:https://www.cnblogs.com/aikutao/p/11151647.html
Copyright © 2011-2022 走看看