區域性變數和全域性變數的區別
背景:上午看書閱及這兩對概念,有很多相似之處,故記之。
一. 區域性變數&全域性變數
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語言包含的資料型別
全域性變數是在函式體外定義或宣告的變數,可以被所有函式使用 區域性變數是在函式體內部定義的變數,只能本函式使用,別的函式使用不了。
區域性變數和全域性變數的區別
背景:上午看書閱及這兩對概念,有很多相似之處,故記之。
一. 區域性變數&全域性變數
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語言包含的資料型別