陣列分配和訪問 讀深入理解計算機系統

2021-06-01 21:48:30 字數 652 閱讀 7446

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宣告建立乙個資料型別,將可能不同型別的物件聚合到乙個物件中。結構的各個組成部分是用名字來引用的。結構的實現類似於陣列的實現,因為結構的所有組成部分都存放在儲存器中連續的區域內,而指向結構的指標就是結構第乙個位元組的位址。編譯器儲存關於每個結構型別的資訊,指示每個域的位元組偏移,它以這些偏移作為儲存器引用指令中的位移,從而產生對結構元素的引用。

讀《深入理解計算機系統》心得

聽過這本書大該是一年前,那時候剛考完研,因為隨後的研究方向偏計算機方向 本科學的通訊工程 所以經常水論壇,了解一些這個方向的經典之作,其中就提到過此書。他人關於這本書更多的心得體會是 計算機方向必讀書籍之一 大學唯一願意留下的一本書 云云。懷著對他人經驗之談的些許懷疑,我記下了這本書的名字 comp...

計算機深入理解 一

1.1 匯流排 匯流排是用來在計算機各個部件中傳遞資料的快遞員,這個快遞員攜帶的資料是有限制的通常是4個位元組32位,8個位元組64位。1.2 io 裝置 io 裝置是計算機與外界資料交換的快遞員。包括四個功能不一的快遞員 1 作為使用者輸入的鍵盤和滑鼠 2 作為使用者輸出的顯示器 3 用來長期儲存...

讀《深入理解計算機系統》 一

最近在讀 深入理解計算機系統 這本書,朋友推薦的,豆瓣評分九點幾分,相當不錯。看了一周,有些收穫,記錄下來以後回看。一。計算機是如何執行我們的oc呢?或者說是如何執行高階程式語言呢?我們都知道計算機執行是靠二進位制來計算,計算機的cpu是由很多的電晶體,二極體,微控制器組成的,當我們在 中寫下x 2...