C和指標 第三章--資料

來源:互聯網
上載者:User

標籤:style   使用   sp   strong   檔案   資料   on   代碼   bs   

簡要概述:

  《C和指標》第三章對資料進行了描述。

  其中主要講解了---變數的三個屬性:範圍、連結屬性和儲存類型。

  這三個屬性決定了該變數在“什麼地方可以使用”以及“該變數的值能夠保持多久”。

 

總結範圍:

1、檔案範圍、代碼塊範圍、原型範圍和函數範圍

  檔案範圍:在代碼塊之外聲明的標識符 file scope

  代碼塊範圍:聲明在{}中

  原型範圍:int getScore(int ucStudent); 該函數原型聲明中,int ucStudent具有原型範圍

  函數範圍:這個不用管。

總結連結屬性:

連結屬性:external(外部連結屬性)、internal(內部連結屬性)和none(無連結屬性)

連結屬性的作用:標識的連結屬性決定如何處理在不同源檔案中出現的標識符。

例如,相同的標識符A出現在不同的源檔案中,當這些源檔案編譯後形成目標檔案,

下一步進行連結形成可執行檔時,這些A表示同一個實體還是不同實體,由A的連結屬性決定。

external:具有外部連結屬性的標識符,無論聲明多少次,不管存在多個源檔案中,都表示同一個實體。

internal:當A具有intonernal連結屬性,處於同一個源檔案中的聲明指向同一個實體,處於不同源檔案中的多個聲明分屬不同的實體。

none:不管處於同一個源檔案還是不同源檔案的聲明,均指向不同的實體。

1、具有檔案範圍的變數預設均為“外部連結屬性”

2、在函數內部或代碼塊中聲明的變數預設為“none“

3、static 和 extern可以改變標識符的連結屬性,但是具有如下限制:

  1)static :只對預設為external屬性的聲明才有改變的效果

  2)當extern關鍵字用於源檔案中一個標識符的第一次聲明時,具有改變連結屬性的效果,但用於標識符的第二次或以後的聲明時,則

  不會更改第一次聲明的連結屬性。

總結儲存類型

儲存類型指該變數儲存變數值的記憶體類型。

靜態 普通記憶體中 全域變數、static全域變數、static局部變數
自動儲存類型 儲存在堆棧中 局部變數
register 儲存在寄存器中 register關鍵字修飾的變數

C和指標 第三章--資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.