歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     zhang3221994 @ 2020-06-06 , reply:0

靜態關鍵字static

C語言中,static關鍵字修飾變量和函數

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 int a = 10;  	static int b = x;  	a++;  	b++;  }

 

修飾全局變量變量

用靜態關鍵字static修飾全局變量的意義、

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

修飾函數

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

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

   


[zhang3221994 ] 快速瞭解C語言靜態關鍵字static的作用已經有406次圍觀

http://coctec.com/docs/c/language/show-post-237206.html