本篇文章給大家談談static什麽意思,以及static的意思對應的知識點,希望對各位有所幫助,不要忘了收藏本站!
內容導航:- static是什麽意思
- Static是什麽意思啊,在C程序裏麵
- java語法中的static是什麽意思?
- static在c語言中是什麽意思?
- java中static是什麽意思?能不能通俗的講下,讓我這個菜鳥好理解一點
- 請問static什麽意思
Q1:static是什麽意思
static
英 ['st㦴骫]
美 ['st㦴骫]
n. 靜電;靜電幹擾
adj. 靜態的;靜電的;靜力的
Q2:Static是什麽意思啊,在C程序裏麵
static可應用於應用於內部變量、外部變量和函數。應用於內部變量時,其作用是用來指定變量的存儲類別為靜態變量。應用於外部變量和函數時,其作用是限製變量或函數的作用範圍僅限於外部變量或函數所在的源文件。
1、在整個程序運行的過程中,無論靜態內部變量所在的函數被調用了多少次,靜態內部變量隻運行一次初始化,即在程序運行時完成的。
2、在函數的兩次調用期間,靜態內部變量所在存儲單元不被釋放,因而當前次函數調用執行時其值會被保存下來,下次調用時該值依然存在。即靜態內部變量的值在從一次函數調用到下一次函數調用到下一次函數調用到下一次函數調用之間保持不變。
3、 默認情況下,外部變量的作用域是從定義變量的位置到所在源文件的末尾。
一、函數分為內部函數和外部函數
當一個源程序由多個源文件組成時,C語言根據函數能否被其它源文件中的函數調用,將函數分為內部函數和外部函數。
1、內部函數(又稱靜態函數)
如果在一個源文件中定義的函數,隻能被本文件中的函數調用,而不能被同一程序其它文件中的函數調用,這種函數稱為內部函數。
定義一個內部函數,隻需在函數類型前再加一個“static”關鍵字即可,如下所示:
static 函數類型 函數名(函數參數表){……}
關鍵字“static”,譯成中文就是“靜態的”,所以內部函數又稱靜態函數。但此處“static”的含義不是指存儲方式,而是指對函數的作用域僅局限於本文件。
使用內部函數的好處是:不同的人編寫不同的函數時,不用擔心自己定義的函數,是否會與其它文件中的函數同名,因為同名也沒有關係。
2、外部函數
外部函數的定義:在定義函數時,如果沒有加關鍵字“static”,或冠以關鍵字“extern”,表示此函數是外部函數:
[extern] 函數類型 函數名(函數參數表){……}
調用外部函數時,需要對其進行說明:
[extern] 函數類型 函數名(參數類型表)[,函數名2(參數類型表2)……];
二、C語言是一門麵向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標準規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
擴展資料:
static的作用
在C語言中,static的字麵意思很容易把我們導入歧途,其實它的作用有三條。
1、最重要的一條:隱藏。
同時編譯多個文件時,所有未加static前綴的全局變量和函數都具有全局可見性。
加了static,就會對其它源文件隱藏。例如在a和msg的定義前加上static,main.c就看不到它們了。利用這一特性可以在不同的文件中定義同名函數和同名變量,而不必擔心命名衝突。Static可以用作函數和變量的前綴,對於函數來講,static的作用僅限於隱藏,而對於變量,static還有下麵兩個作用。
2、static的第二個作用是保持變量內容的持久。存儲在靜態數據區的變量會在程序剛開始運行時就完成初始化,也是唯一的一次初始化。共有兩種變量存儲在靜態存儲區:全局變量和static變量,隻不過和全局變量比起來,static可以控製變量的可見範圍,說到底static還是用來隱藏的。
3、static的第三個作用是默認初始化為0。其實全局變量也具備這一屬性,因為全局變量也存儲在靜態數據區。在靜態數據區,內存中所有的字節默認值都是0x00,某些時候這一特點可以減少程序員的工作量。比如初始化一個稀疏矩陣,我們可以一個一個地把所有元素都置0,然後把不是0的幾個元素賦值。
如果定義成靜態的,就省去了一開始置0的操作。再比如要把一個字符數組當字符串來用,但又覺得每次在字符數組末尾加’\0’太麻煩。如果把字符串定義成靜態的,就省去了這個麻煩,因為那裏本來就是’\0’。
最後對static的三條作用做一句話總結。首先static的最主要功能是隱藏,其次因為static變量存放在靜態存儲區,所以它具備持久性和默認值0。
參考資料來源:
百度百科-static函數
百度百科-c語言
Q3:java語法中的static是什麽意思?
static表示“全局”或者“靜態”的意思,用來修飾成員變量和成員方法,也可以形成靜態static代碼塊,但是Java語言中沒有全局變量的概念。
被static修飾的成員變量和成員方法獨立於該類的任何對象。也就是說,它不依賴類特定的實例,被類的所有實例共享。
隻要這個類被加載,Java虛擬機就能根據類名在運行時數據區的方法區內定找到他們。因此,static對象可以在它的任何對象創建之前訪問,無需引用任何對象。
用public修飾的static成員變量和成員方法本質是全局變量和全局方法,當聲明它類的對象市,不生成static變量的副本,而是類的所有實例共享同一個static變量。
static變量前可以有private修飾,表示這個變量可以在類的靜態代碼塊中,或者類的其他靜態成員方法中使用(當然也可以在非靜態成員方法中使用--廢話),但是不能在其他類中通過類名來直接引用,這一點很重要。
實際上你需要搞明白,private是訪問權限限定,static表示不要實例化就可以使用,這樣就容易理解多了。static前麵加上其它訪問權限關鍵字的效果也以此類推。