變數 不同型別的變數,你是否知道其作用域?

2021-05-22 05:42:00 字數 881 閱讀 6079

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 外部變數...