static關鍵字的做用
在C語言中
static修飾函數的時候
靜態函數:做用範圍僅限於它的源文件,即只有本文件內才能夠調用,函數名在其餘文件內不可
見。
static修飾局部變量的時候
局部靜態變量:侷限於特定函數,但出做用域並不釋放,在函數體內靜態變量的值也能維持。
static修飾全局變量的時候
全局靜態變量:做用範圍侷限於它的源文件,即只有本文件內的代碼才能夠訪問它,變量名在
其餘文件內不可見。
存放位置
程序開始時,存放在全局數據區,結束時釋放空間,默認初始化值爲0,使用時能夠改變其值。函數
static關鍵字做用的具體描述
隱藏
未加static前綴的全局變量和函數具備全局可見性,static能夠做爲函數和變量的前綴,對於函
數來說,static的做用僅限於隱藏。
保持變量內容的持久
static修飾局部變量後,改變了它的存儲方式,把局部變量存儲到靜態存儲區,改變了局部變量
的生存期,生存期爲整個源程序,做用域仍在定義該變量的函數內。
static修飾全局變量後,改變了它的做用域,限制了它的使用範圍,做用域侷限於它的源文件,
只有本文件內的代碼能夠訪問,變量名在其餘文件不可見。
默認初始化爲0<static變量>
全局變量也具有這一屬性,,由於全局變量和被static修飾的局部變量都存放在靜態數據區,內
存中全部的字節默認值都是0x00.
總結:static最主要的功能是隱藏,其次static變量存放在靜態存儲區,因此它具有持久性和默認值0.作用域