static 修飾符

static修飾符,總結


1、靜態全局變量

(1)該變量在數據段(未初始化則系統自動賦值爲0)分配內存

(2)靜態全局變量在聲明它的整個文件中都是可見的,而在文件之外是不可見的

2、定義靜態全局變量的好處:

(1)靜態全局變量不能被其它文件所用;

   (2)其它文件中可以定義相同名字的變量,不會發生衝突;

  3、全局變量和全局靜態變量的區別

   (1)全局變量是隱式用static修飾的全局變量,全局變量默認是靜態的,作用域是整個工程,

在一個文件內定義的全局變量,在另一個文件中,通過extern 全局變量名的聲明,就可以使用全局變量。

  (2)全局靜態變量是顯式用static修飾的全局變量,作用域是所在的文件,其他的文件即使用extern聲明也不能使用。

(3)所以在別的文件中要引用另一個文件中的變量,此變量不能用static來修飾

4、靜態局部變量

(1)靜態局部變量保存在數據段,而不是保存在棧中,每次的值保持到下一次調用,直到下次賦新值

(2)作用域爲局部作用域,當定義它的函數或語句塊結束時,其作用域隨之結束

5、靜態函數

(1)靜態函數不能被其它文件所用,其它文件中可以定義相同名字的函數,不會發生衝突

 

發佈了65 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章