局部變量和全局變量的區別


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

一. 局部變量&全局變量

  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語言包含的數據類型

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

END 謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM