回覆列表
  • 1 # 髒話比謊話乾淨558

    區域性變數和全域性變數的區別

    背景:上午看書閱及這兩對概念,有很多相似之處,故記之。


    一. 區域性變數&全域性變數


    1 區域性變數:“在函式內定義的變數”,


    即在一個函式內部定義的變數,只在本函式範圍內有效。


    2 全域性變數:“在函式外定義的變數”,


    即從定義變數的位置到本原始檔結束都有效。


    目的:增加函式間資料聯絡的渠道。由於同一檔案中的所有函式都能引用全域性變數的值,因此如果在一個函式中改變了全域性變數的值,


    就能影響到其他函式中全域性變數的值,相當於各個函式之間有直接的傳遞渠道。


    為了便於區別兩者,C程式設計人員有一個習慣,將全域性變數名的第一個字母用大寫表示。如:float Max=0,Min=0; //定義全域性變數Max,Min


    二. 內部函式&外部函式


    1.內部函式:只被本檔案中其他函式所呼叫。


    定義內部函式時,在函式名、函式型別前加 static 。 static 型別名 函式名(形參表); 例如,static int fun(int a,int b);


    2.外部函式:可供其他檔案呼叫。


    定義外部函式時,在函式首部左端加 extern。extern int fun(int a,int b);


    若在定義函式時省略extern,則預設為外部函式。


    拓展一個問題,為什麼C語言要求在定義所有的變數時都要指定變數的型別?


    所謂型別,就是對資料分配儲存單元的安排,包括儲存單元的長度(佔多少位元組)以及資料的儲存形式。不同的型別分配不同的長度和儲存形式。


    在計算機中,資料是存放在儲存單元中的,它是具體存在的(在數學中,數和數的運算都是抽象的)。而且,儲存單元是由有限的位元組構成的,


    每一個儲存單元中存放資料的範圍是有限的,不可能存放“無窮大”的數,也不能存放迴圈小數。


    最後附上c語言包含的資料型別

  • 2 # 使用者1794866619891278

    全域性變數是在函式體外定義或宣告的變數,可以被所有函式使用 區域性變數是在函式體內部定義的變數,只能本函式使用,別的函式使用不了。

  • 中秋節和大豐收的關聯?
  • PIN光敏二極體的工作原理?