static和extern的區別

2022-08-16 21:48:10 字數 767 閱讀 8140

extern(外部)

1.對函式

完整的定義乙個外部函式(可以省略extern)

完整的宣告乙個外部函式(可以省略extern)

2.對變數

只能宣告乙個外部變數(不能省略extern

在函式裡面定義extern的變數表示應用程式中其他地方的變數(引用某個全域性變數,並非定義)

static(內部)

1.對函式

定義內部函式(不能省略static)

宣告內部函式(不能省略static)

2.對變數

static修飾全域性變數:

1.)定義乙個內部內部變數

static修飾的區域性變數的生命週期:

1.)第一次使用這個變數的時候才會建立(不會重複建立)

2.)程式退出的時候,才會銷毀

static和extern的區別

static 一 在c中,static主要定義全域性靜態變數 定義區域性靜態變數 定義靜態函式。1 定義全域性靜態變數 在全域性變數前面加上關鍵字static,該全域性變數變成了全域性靜態變數。全域性靜態變數有以下特點。a.在全域性區分配記憶體。b.如果沒有初始化,其預設值為0.c.該變數在本檔案內...

static和extern的區別

static 一 在c中,static主要定義全域性靜態變數 定義區域性靜態變數 定義靜態函式。1 定義全域性靜態變數 在全域性變數前面加上關鍵字static,該全域性變數變成了全域性靜態變數。全域性靜態變數有以下特點。a.在全域性區分配記憶體。b.如果沒有初始化,其預設值為0.c.該變數在本檔案內...

static和extern的使用

1 修飾區域性變數 static修飾區域性變數,該區域性變數便存放在靜態資料區,其生命週期一直持續到整個程式執行結束,但作用域仍限於該語句塊。特別注意的是,用static修飾區域性變數後,該變數只在初次執行時進行初始化工作,且只進行一次。includevoid fun int main void 程...