回覆列表
-
1 # 使用者2071604482426
-
2 # 使用者4513273315216
是不止一個意思,要看用到哪裡。比如: static int a; int b; void func(void) { static int c; int d; } 在這裡,a與b都是全域性變數,二者的區別是,b可以被別的檔案使用,a只能在本檔案中使用,這是static對全域性變數的作用。 c和d的區別是,d是一個自動變數,func函式執行完後,d會自動被釋放。但c卻不會被釋放,下一次呼叫func函式時,c的值會保留上次的值繼續使用。
-
3 # 小古董256
static 用來說明靜態變數。如果是在函式外面定義的,那麼其效果和全域性變數類似,但是,static定義的變數只能在當前c程式檔案中使用,在另一個c程式碼裡面,即使使用extern關鍵詞也不能訪問這個static變數。
擴充套件資料c語言是一門面向過程、抽象化的通用程式設計語言,廣泛應用於底層開發。C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程式設計中備受青睞。C語言編譯器普遍存在於各種不同的作業系統中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了眾多後來的程式語言,例如C++、Objective-C、Java、C#等。
static(中文名:靜態)來自高階計算機語言,像在VB,C#,C,C++,Java,PHP,Objective-C,JavaScript中我們可以看到static作為關鍵字和函數出現,在其他的高階計算機語言如FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、PROLOG、Ada等語言中也是有出現的,只是有著不同的作用,對於其具體作用,讀者有需要的時候是可以具體查閱的。
在C語言中,static關鍵字的作用如下:
1、在修飾變數的時,static修飾的靜態區域性變數只執行一次,而且延長了區域性變數的生命週期,直到程式執行結束以後才釋放。
2、static修飾全域性變數的時,這個全域性變數只能在本檔案中訪問,不能在其它檔案中訪問,即便是extern外部宣告也不可以。
3、static修飾一個函式,則這個函式的只能在本檔案中呼叫,不能被其他檔案呼叫。Static修飾的區域性變數存放在全域性資料區的靜態變數區。