static const 作用及區別

2021-10-08 23:33:08 字數 726 閱讀 7870

c語言中static:

static 可以修飾區域性變數、全域性變數、函式

static 修飾的區域性變數存放在靜態儲存區,生命週期是整個程式結束。在定義時就要初始化,且只能初始化一次,如果沒有初始化預設值為0。static修飾的函式或者全域性變數,主要是為了限制作用域:僅限於本檔案。函式又稱內部函式;對於全域性變數,是否有static它的儲存區域都是靜態儲存區。

oc中的static

static不能修飾屬性和方法,可以修飾方法中的區域性變數。static修飾的區域性變數變成靜態變數儲存在靜態區,當方法執行完畢區域性變數不會**,下次執行這個方法直接使用,不用宣告。

-----類方法不可以訪問例項變數(函式),通過static修飾的例項變數(函式),可以被類方法訪問;

const    是用來定義常量的。

區別:static  用於定義靜態變數,靜態變數只會被初始化一次,並且直到程式銷毀時才會釋放

關鍵字const  用來定義常量,如果乙個變數被const修飾,那麼它的值就不能再被改變,被const修飾的變數是唯讀的

補充:extern  定義的變數是外部變數

#define和 const 定義常量

預編譯指令只是對值進行簡單的替換,不能進行型別檢查

可以保護被修飾的東西,防止意外修改,增強程式的健壯性

-----常量指標const int * n; 指標指向的值不能改變

-----指標常量int * const n; 指標本身是個常量

6 1 區塊的作用

區塊鏈是由乙個個相連的區塊 block 組成。區塊很像資料庫的記錄,每次寫入資料,就是建立乙個區塊。每個區塊包含兩個部分 hash就是計算機可以對任意內容,計算出乙個長度相同的特徵值。區塊鏈的 hash 長度是256位,不管原始內容是什麼,最後都會計算出乙個256位的二進位制數字。而且可以保證,只要...

Handler AsyncTask用法及區別

handler和asynctask都是為了android中的非同步處理方式,避免在子執行緒操作ui造成anr異常下面分別介紹 handler主要接收子執行緒傳送的資料,並用此資料配合主線程更新ui,用來跟ui主線程互動用。比如用hanlder傳送乙個message,然後在handler的執行緒中來接...

session和cookies的作用和區別

二者的定義 當你在瀏覽 的時候,web 伺服器會先送一小小資料放在你的計算機上,cookie 會幫你在 上所打的文字或是一些選擇,都紀錄下來。當下次你再光臨同乙個 web 伺服器會先看看有沒有它上次留下的 cookie 資料,有的話,就會依據 cookie裡的內容來判斷使用者,送出特定的網頁內容給你...