在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 變量作用域
動態(tài)內(nèi)存
類和對象
接口 (抽象類)
結(jié)構(gòu)體
循環(huán)的類型
函數(shù)
數(shù)字
日期和時間
基本語法
多態(tài)
數(shù)據(jù)抽象
注釋
命名空間
字符串
預處理器
決策語句
修飾符的類型
鍙橀噺綾誨瀷
基本輸入輸出
操作符
數(shù)組
模板
多線程
繼承
Web 編程
信號處理
指針
存儲類型
概述
引用
常量
異常處理
開發(fā)環(huán)境
重載
變量作用域
數(shù)據(jù)類型
數(shù)據(jù)封裝
文件和流

變量作用域

變量作用域就是指變量在程序中能夠操作的區(qū)域,通常按照在程序中不同地方聲明可以分為如下三類:

  1. 局部變量:在函數(shù)中或者由花括號括起來的代碼塊中聲明。
  2. 形式變量:在函數(shù)的參數(shù)中聲明,也叫形參。
  3. 全局變量:在所有函數(shù)之外聲明的變量。

關(guān)于函數(shù)及函數(shù)參數(shù)的內(nèi)容我們會在后續(xù)章節(jié)中學習。這里我們首先學習關(guān)于局部變量和全部變量的相關(guān)內(nèi)容。

局部變量

在函數(shù)或代碼塊內(nèi)部聲明的變量稱為局部變量。他們在函數(shù)體內(nèi)聲明后僅能被其聲明的所在函數(shù)體內(nèi)部的后續(xù)語句操作。局部變量不能被函數(shù)外部訪問到。下面就是使用局部變量的例子。

    #include <iostream>
    using namespace std;

    int main ()
    {
      // Local variable declaration:
      int a, b;
      int c;

      // actual initialization
      a = 10;
      b = 20;
      c = a + b;

      cout << c;

      return 0;
    }

全局變量

全局變量通常會被聲明定義在所有函數(shù)體的外面,大部分情況下是在程序的最上方定義。全部變量的生命周期就是進程從開始到程序執(zhí)行結(jié)束的整個過程。

全局變量可以被任何函數(shù)訪問。也就是說,全局變量一旦被聲明,將在程序的整個生命周期內(nèi)都是有效的。下面是使用全局和局部變量的例子:

    #include <iostream>
    using namespace std;

    // Global variable declaration:
    int g;

    int main ()
    {
      // Local variable declaration:
      int a, b;

      // actual initialization
      a = 10;
      b = 20;
      g = a + b;

      cout << g;

      return 0;
    }

程序中的局部變量和全局變量可以有相同的變量名稱。但是在局部變量所在函數(shù)體內(nèi)如,使用變量名僅能訪問到局部變量。比如:

    #include <iostream>
    using namespace std;

    // Global variable declaration:
    int g = 20;

    int main ()
    {
      // Local variable declaration:
      int g = 10;

      cout << g;

      return 0;
    }

上述例子中的程序被編譯并執(zhí)行后,將顯示如下結(jié)果:

    10

局部變量和全局變量的初始化

局部變量被定義后,默認情況下,系統(tǒng)并不會對該變量進行初始化,所以需要程序員進行初始化操作。與之不同的是,全局變量定義后會被編譯系統(tǒng)自動初始化,具體初始化的值如下:

數(shù)據(jù)類型 默認初始化的值
int 0
char '\0'
float 0
double 0
pointer NULL

適如其分的給變量初始化是一個很好的編程習慣,否則,有時程序會出現(xiàn)很多意想不到的錯誤。

上一篇:結(jié)構(gòu)體下一篇:Web 編程