c語言 變數

2021-10-08 16:29:02 字數 1127 閱讀 2357

1)設定全域性變數,增加了函式間資料聯絡的渠道

2)建議不在必要時不要使用全域性變數

a、全域性變數在程式執行的全部過程中都占用儲存單元。

b、使用全域性變數降低了函式的通用性,因為函式執行時要依賴其所在的外部變數。如果將函式從乙個檔案移動到另乙個檔案,還需要將相關的外部變數一起移過去,若外部變數與其他檔案的變數重名,就會出現問題。

c、過多的使用全域性變數,會降低程式的清晰性

d、同乙個原始檔中,外部變數與區域性變數重名時,則在區域性變數的作用域範圍內,外部變數被「遮蔽」

函式中的區域性變數,如不專門宣告為static,都是動態分配儲存空間的。

int f(int a)

auto可以省略,不寫預設為auto

有時候希望在函式中的區域性變數的值在函式呼叫結束後不消失,即其占用的儲存單元不釋放,用關鍵字static來宣告。

對靜態區域性變數的說明:

1)靜態區域性變數屬於靜態儲存類別,在靜態儲存區分配儲存單元,在整個執行期間都不釋放。

2)定義區域性變數時不賦初值的話,對於靜態區域性變數來說,編譯時自動賦初值0(對於數值型變數)或空字元(對字元變數)

3)雖然靜態區域性變數在函式呼叫結束後仍然存在,但其他函式是不能引用它。

說明:1)只有區域性自動變數和形式引數可以作為暫存器變數,其他變數不行。

2)區域性靜態變數不能定義為暫存器變數。

外部變數(即全域性變數)是在函式外部定義的,它的作用域是從變數的定義處開始到檔案末尾。

1)在乙個檔案外宣告外部變數

如果外部變數的定義不在檔案的開頭,其有效的作用域範圍就是從定義處到檔案末尾。如果想在其定義點之前引用該外部變數,那麼需要用extern對該變數做「外部變數宣告」。

2)在多檔案的程式中宣告外部變數

如果在多個檔案中共用到乙個外部變數,那麼在乙個檔案中定義外部變數,而在其他檔案中用extern對其宣告。

有時程式設計中希望某外部變數只限於本檔案引用,而不能被其他檔案引用,這時可以在定義外部變數時加乙個static宣告

C語言 變數

整形變數的定義 有符號 int a int a 有符號整形 範圍 0 2 32 long int a long a 有符號長整形 範圍 0 2 32 short ing a short a 有符號短整型 範圍 0 2 16 無符號unsigned int a unsigned a 無符號整形 範圍 ...

《C語言變數》

我先舉乙個例子,如果我有乙個倉庫,我想把一些東西放進去,比如蘋果 西瓜等等。1 首先,我是不是應該要知道我要放的東西體積多大,還有就是 需要找多大的空間能放得下它。計算機的儲存空間就相當於這裡的倉庫。2 對倉庫來說它並不知道是蘋果還是西瓜,它只知道存放的是體積不一樣大的物體,因為名字是我們人類命名的...

c語言變數

第四次課 變數 一 變數的定義 變數的概念 值可以發生改變的量 語法 型別名 變數名,變數名,變數名 型別名 變數名 初值,變數名 初值 char a,b,c int e char a 0,b 0,c 0 char a 0 unsigned char e 0 int height 170 int w...