C語言中全域變數的定義與調用

來源:互聯網
上載者:User

1. 譚浩強 書中對‘全域變數’的定義

    在函數內定義的變數是局部變數,而在函數外定義的變數叫做外部變數,外部變數是全域變數。全域變數可以為本檔案中其他函數所共用它的有效範圍從定義變數的位置開始到本源檔案結束。

    建立全域變數的作用是增加了函數間資料聯絡的渠道。

2.  譚浩強 書中對‘全域變數’的聲明

    用extern聲明:

       如果外部變數不在檔案的開頭定義,其有效作用範圍只能從定義點到檔案結束。如果在定義點之前的函數想引用該外部變數,則應該在應用之前用關鍵字extern對該變數作‘外部變數聲明’。表示該變數是一個已經定義了的外部變數。有了此聲明,就可以從聲明處起,合法的調用該外部變數。

 

      

int  A=13, B=-8;

 

....

 

 

main()

{

    extern int A,B;//也可以寫成extern A,B;

    ....

 

    用static聲明:

        有時在程式中希望某些外部變數只限於被本檔案引用,而不能被其他檔案引用。這時就可以在定義外部變數時在其前面加一個static聲明。此時的外部變數也成為靜態全域變數。

       

static int A;

 

3. 需要注意的地方

   外部變數的定義和聲明是不同的。外部變數的定義只能有一次,它的位置在所有函數之外,而統一檔案中的外部變數的聲明可以有多次,它的位置可以在函數之內,也可以在函數之外。系統根據外部變數的定義,而不是聲明,分配儲存單元。對外部變數的初始化,只能在定義時進行,而不能在聲明中進行。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.