關於static的使用

2022-02-19 08:20:53 字數 566 閱讀 5368

首先,對於區域性變數來說,任何乙個在函式內部定義的變數(包括main)都屬於這個範疇。在執行時,編譯器不會對區域性變數進行初始化,也就是說區域性變數的初始值是隨機的,除非對其進行顯式賦值。區域性變數被儲存在程式的棧空間內,使用完畢後會立即釋放;

但是對於靜態區域性變數來說,有了static的修飾之後,就算不對其進行顯式賦值,編譯器也會把其設為0。而且靜態區域性變數被儲存在全域性資料區中,即使函式返回之後,變數也不會被清除;

靜態區域性變數=全域性變數,有利於程式的模組化。

全域性變數在程式中,本身被儲存在全域性資料區中,會被編譯器初始化為0;

在c語言工程中,普通的全域性變數可以在不同的程式中使用,只需要extern外部宣告,但其他檔案中不能有與其重名的變數;

而靜態全域性變數僅對當前的檔案可見,其他檔案不可訪問。

對於函式來說,在返回的型別前面加上static就變成了靜態函式,具體用法與全域性變數類似;

靜態函式可以跨檔案呼叫。

1、變為靜態變數,存入全域性資料區中,防止因忘記初始化而造成的各種bug;

2、跨檔案防止靜態全域性變數,靜態函式重名而造成bug(c語言中);

關於static 的使用

static屬性i是屬於類本身的,或者講沒有物件我們可以直接用類名呼叫 這個程式的結果是20,20.因為static是乙個靜態的,所有的物件共用這個乙個 另外,在main函式裡又把i的值改變了,最終大家共用20 若果再寫個aa2.i 30.則最終結果會為30.以最後的i為準,前面的都會被覆蓋 pub...

關於static的使用

用static宣告區域性變數 區域性變數指在 塊 內部定義的變數,只在 塊內部有效 作用域 其預設的儲存方式是自動變數或說是動態儲存的,即指令執行到變數定義處時才給變數分配儲存單元,跳出 塊時釋放記憶體單元 生命期 用static宣告區域性變數時,則改變變數的儲存方式 生命期 使變數成為靜態的區域性...

關於類static成員的使用

成員函式 靜態 非靜態 使用靜態成員變數 非靜態成員函式使用靜態成員變數 class statictest static void func1 private static int staticvar int var 靜態成員函式使用靜態成員變數 class statictest static vo...