C/C++中near和far的區別 記憶體 指標

來源:互聯網
上載者:User

關鍵字near和far受目標電腦體繫結構的影響。目前編程中使用不多。 near關鍵字建立一個指向可定址記憶體低端部分的目標指標。這些指標佔用記憶體的單一位元組,並且他們能夠指向的記憶體單元被限制到256個位置,通常是在0x0000~0x00ff範圍中。 int near * ptr; far關鍵字建立一個能夠指向記憶體中任何資料的指標: char far * ptr; near (近)指標:16位段內位移地址 far(遠)指標:16位段地址+16位段內位移地址 huge(巨)指標:32位規格化的具有唯一性的記憶體位址 C語言的存貯屬性由六種編譯模式決定(參見TCIntegration Environment菜單中的option->compiler->model選項),預設的編譯模式為small, 在該編譯模式下,指標的預設屬性為near。 補充:near指標是16位指標,依賴一個段地址寄存器,指標變數就是位移量,利用 段地址寄存器+指標 來定址,所以有64K之限制。 far 指標是32位指標,不但有16位的位移量,還有16位的段地址,但此指標有個缺陷,增量時只加到位移部分,一旦16位的位移量超過了FFFF就會回到這個段地址的初始。 所以,又引入了huge指標,huge指標與far一樣,其區別僅在於使用了標準化的方法來表示,這樣所有的地址都有一個唯一的表示方法,從而避免了far指標的問題。 null 指標規定了一種指標狀態,如果沒有這個null 指標,就如數字沒有了0

相關文章

聯繫我們

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