iOS開發中Static和Const關鍵字的的作用

來源:互聯網
上載者:User

標籤:

   1.作用於變數:

 

用static聲明局部變數時,則改變變數的儲存方式(生命期),使變數成為靜態局部變數,即編譯時間就為變數分配記憶體,直到程式退出才釋放儲存單元。這樣,使得該局部變數有記憶功能,可以記憶上次的資料,不過由於仍是局部變數,因而只能在代碼塊內部使用(範圍不變)。

    用static聲明外部變數-------外部變數指在所有代碼塊{}之外定義的變數,它預設為靜態變數,編譯時間分配記憶體,程式結束時釋放記憶體單元。同時 其範圍很廣,整個檔案都有效甚至別的檔案也能引用它。為了限制某些外部變數的範圍,使其只在本檔案中有效,而不能被其他檔案引用,可以用static 關鍵字對其作出聲明。

  總結:用static聲明局部變數,使其變為靜態儲存方式(待用資料區),範圍不變;用static聲明外部變數,其本身就是靜態變數,這隻會改變其串連方式,使其只在本檔案內部有效,而其他檔案不可串連或引用該變數。

 

2.作用於函數:

 

  使用static用於函數定義時,對函數的串連方式產生影響,使得函數只在本檔案內部有效,對其他檔案是不可見的。這樣的函數又叫作靜態函數。使用靜態函數的好處是,不用擔心與其他檔案的同名函數產生幹擾,另外也是對函數本身的一種保護機制。

 

  如果想要其他檔案可以引用本地函數,則要在函數定義時使用關鍵字extern,表示該函數是外部函數,可供其他檔案調用。另外在要引用別的檔案中定義的外部函數的檔案中,使用extern聲明要用的外部函數即可。

const作用: “唯讀(readonly)”

1.定義常量

(1)const

修飾變數,它的含義是:const修飾的變數值是不可變的,readonly。

(2)將const改為外部串連,作用於擴大至全域,編譯時間會分配記憶體,並且可以不進行初始化,僅僅作為聲明,編譯器認為在程式其他地方進行了定義

 extend const int ValueName = value;

 

iOS開發中Static和Const關鍵字的的作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.