1.
具有外聯接的全域性變數:
在所有函式外部宣告的變數,且沒有
static
修飾符,例如:
/* a.c
檔案*/
int total = 0;
此類變數具有檔案作用域,在本檔案中從定義開始處至檔案結尾均可見。在本檔案的開始至定義此變數處及其他檔案中,可使用
extern
修飾符來引用該變數。
例如:/* b.c
檔案*/
extern int total;
進行上述宣告後,可在
b.c中使用
total
變數2.
具有內連線的全域性變數:
在所有函式外部宣告的變數,且有
static
修飾符,例如:
/* a.c
檔案*/
static int total;
此類變數具有檔案作用域,只能在本檔案中使用,從宣告變數處開始,至檔案結尾均可見。
3. 自動變數:
在**塊中定義的變數,例如:
int main(void)
此類變數具有**塊作用域,從宣告變數處開始,至**塊結束均可見。
4. 具有靜態儲存週期的自動變數:
在**塊中定義的變數,且有
static
修飾符,例如:
int main(void)
此類變數同樣具有**塊作用域,從宣告變數處開始,至**塊結束均可見。
5. 暫存器變數:
在**塊中定義的變數,且有
register
修飾符,例如:
int main(void)
此類變數同樣具有**塊作用域,從宣告變數處開始,至**塊結束均可見。
不同型別變數的大小範圍
64位作業系統,不同型別變數對應的位元組數為 紅色的表示與32位系統不同之處 char 1個位元組 char 即指標變數 8個位元組 short int 2個位元組 int 4個位元組 大家都知道int的取值範圍是 2 31 2 31 1 也就是 2147483648 2147483647 那麼為什...
不同型別變數與零值比較
1 布林變數與零值比較 不可將布林變數直接與 true false 或者 1 0 進行比較。根據布林型別的語義,零值為 假 記為 false 任何非零值都是 真 記為true true 的值究竟是什麼並沒有統一的標準。例如 visual c 將 true 定義為 1,而 visual basic 則...
C語言中不同型別變數的解讀
c語言中變數分為四類,分別是 四大類,所有變數必須先說明 定義 後使用。自動變數 區域性變數 區域性變數 在乙個函式開頭或段開頭處說明的變數,它有幾個特徵 include void print number int x,int y printf d n sum void main void 外部變數...