細說IOS中的靜態變數static

2021-07-12 04:20:15 字數 367 閱讀 4439

static在程式執行中只初始化一次,也就是說被static標記的變數的記憶體位址是唯一確定的,不會改變,舉個例子說明。

- (void)viewdidload 

- (int)add

列印結果

我們發現count的位址4次列印都相同,也就是說系統只對count初始化一次,只分配一次記憶體位址,所以count的值每次都在上一次的基礎上+1,有人會問這個有什麼用,其實單例模式就是借助static來實現的,下面直接貼**了。

+ (instancetype)sharemanager

); return manager;

}

靜態變數 非靜態變數的區別

c 變數根據定義位置的不同,具有不同的作用域,作用域可分為6種 全域性作用域,區域性作用域,語句作用域,類作用域,命名作用域和檔案作用域。從作用域看 全域性變數具有全域性作用域。全域性變數只需在乙個原始檔中定義,就可以作用於所有的原始檔。當然,其他不包括全域性變數定義的原始檔需要用extern關鍵字...

java中靜態變數和非靜態變數的區別

靜態變數前有static關鍵字修飾。1.記憶體分配 靜態變數在應用程式初始化時,就存在於記憶體當中,直到它所在的類的程式執行結束時才消亡 非靜態變數需要被例項化後才會分配記憶體。2.生存週期 靜態變數生存週期為應用程式的存在週期 非靜態變數的存在週期取決於例項化的類的存在週期。3.呼叫方式 靜態變數...

靜態變數和非靜態變數的區別

記憶體分配 靜態變數在應用程式初始化 被裝載 時,就存在於記憶體當中,直到它所在的類的程式執行結束時才消亡 而非靜態變數需要被例項化後才會分配記憶體。生存週期 靜態變數生存週期為應用程式的存在週期 非靜態變數的存在週期取決於例項化的類的存在週期。呼叫方式 靜態變數只能通過 類.靜態變數名 呼叫,類的...