數組分配和訪問 讀深入理解電腦系統

來源:互聯網
上載者:User

T A[N];

它在儲存空間中分配了L×N位元組的連續地區,這裡L是資料類型T的大小(單位為位元組)。我們用XA來表示起始位置。其次,它引入了標識符A,A可以用來作為指向數組開頭的指標。這個指標的值就是XA。可以用0~N-1之間的整數索引來訪問數組元素。數組元素i的存放地址XA+L*i.


指標運算

如果p是一個指向類型T的資料的指標,p的值為Xp,運算式p+i的值為Xp+L*i,這裡L是資料類型T的大小。

單運算元的操作符&和×可以產生指標和間接引用指標。也就是,對於一個表示某個對象的運算式Expr,&Expr表示一個地址。對於表示一個地址的運算式Addr-Expr,×Addr-Expr表示該地址中的值。因此,運算式Expr與×&Expr是等價的。可以對數組和指標應用數組下標操作,如數組引用A[i]與運算式×(A+i)是一樣的。它計算地i個數組元素的地址,然後訪問這個儲存空間位置。


嵌套數組

int A[4][3];



結構

C的struct聲明建立一個資料類型,將可能不同類型的對象彙總到一個對象中。結構的各個組成部分是用名字來引用的。結構的實作類別似於數組的實現,因為結構的所有組成部分都存放在儲存空間中連續的地區內,而指向結構的指標就是結構第一個位元組的地址。編譯器儲存關於每個結構類型的資訊,指示每個域的位元組位移,它以這些位移作為儲存空間引用指令中的位移,從而產生對結構元素的引用。


聯繫我們

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