快速了解C語言靜態關鍵字static的作用

2022-09-29 21:51:16 字數 782 閱讀 5504

靜態關鍵字static

c語言中,stwww.cppcns.comatic關鍵字修飾變數和函式

1、區域性變數

2、全域性變數

3、函式

修飾區域性變數

1、用靜態關鍵字static修飾的區域性變數,在編譯的過程中,會在資料區為該變數開闢空間,並對其進行初始化,如果**中未對其進行初始程式設計客棧化,則系統預設初始化為0

2、用static修飾的區域性變數,會延長區域性變數的壽命,超出函式的生存期

3、對靜態關鍵字修飾的區域性變數的初始化

以下面兩個變數a和變數為b進行說明,在編譯過程中,發現變數a和b是靜態變數,會標識變數a與b,等到程式執行的時候,在主函式呼叫之前,對變數a和變數b分配空間,並對變數a進行初始化,由於變數b是由函式fun傳遞的引數進行初始化的,故會在程式呼叫函式時對變數b進行初始化,對變數b初始化之前,會檢查變數b的標識位,如果標識位為0,就會拿函式引數x對其進行初始化,標識位為1就不進行初始化

static int a = 0;(編譯過程進行初始化)

static int b = x;(執行該**的時候進行初始化)

void fun(int x)

修飾全域性變數變數

用靜態關鍵字static修飾全域性變數的意義、

可見性不一樣,加上靜態關鍵字後,只對當前檔案有效,對其他檔案無效,yggpgrld並且有效區間從定義位置開始,一直到本檔案結束

修飾函式

靜態關鍵字static修飾函式的意義

可見性不一樣,在函式前加上靜態關鍵字static,該函式也只能是當前檔案可用,其他檔案不可用

C語言關鍵字

c語言關鍵字 在檔案範圍的教訓和關鍵字,你知道靜態變數保持他們的價值觀,甚至不在他們超出範圍的破壞。比如說呢。int generateid int main this program prints 01 2 請注意,s nid一直保持它的價值的跨多個函式呼叫。static關鍵字有另一種意思當應用到全...

C語言關鍵字

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

c語言關鍵字

c 語言標準定義的32 個關鍵字 1 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 雙精度浮點型 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 單精度浮點型 6.1 float的有效位通常有 位,指的是小...