理解計算機內存、數據類型本質、連續存儲

要學習數據結構與算法,與數據的類型密不可分,要知道數據在計算機中是如何存取的,需知道計算機中基本的存儲單元是字節,一個字節是八個位。在計算機的內存連續的存儲空間是由一些基本的存儲單元組成的,一個字節(八個位)做爲一個地址標識。存數據的時候須要多個存儲單元放在一塊兒表示。算法

如:0000 0000 這就是一個基本的存儲單元。數組

以下:在計算機的內存中有四個基本存儲單元,也就是四個字節。數據結構

 

 

對於32位機器  基本整型int  佔 4個字節  如上圖:一個整數類型的數據佔4個基本儲存單元(4個字節,也就是32個位)。學習

如:int 1; 在計算機中二進制存儲,看到的是0000 0001, 其實實際是 00000000 00000000 00000000 00000001 一共4個字節,32個位來標識。blog

如:char 'a'; 在計算機中 只佔一個存儲空間,一個字節。內存

若是:聲明,上圖四個存儲單元是 整型 int ,計算機會將這四個存儲單元 看作整型來對待。數據結構與算法

若是:聲明,上圖四個存儲單元是 字符 char , 計算機會將這四個存儲單元看作  4個char。數據類型

總結應該知道兩點:二進制

1.不一樣的類型佔用存儲單元個數不一樣。im

2.計算機怎麼對待內存中存儲的這些二進制數據呢?根據不一樣的數據類型作對應的處理。

若是是一個順序列表以下存儲:Li [7,2100,390]

內存地址 00x1  對應   第一個元素 7

內存地址 00x5 對應   第二個元素 2100 

內存地址 00x9 對應   第三個元素 390 

內存中,三個元素是順序存儲的,想要取得第三個元素, 只須要取得第一個元素的地址就能夠計算獲得。如:

第三個元素的地址 = 第一個元素 1 + 2 * 4  獲得 00x9  ,由於一個字節是四個位的。

順序表的定義:順序表是在計算機內存中以數組的形式保存的線性表,線性表的順序存儲是指用一組地址連續的存儲單元依次存儲線性表中的各個元素、使得線性表中在邏輯結構上相鄰的數據元素存儲在相鄰的物理存儲單元中,即經過數據元素物理存儲的相鄰關係來反映數據元素之間邏輯上的相鄰關係,採用順序存儲結構的線性表一般稱爲順序表。順序表是將表中的結點依次存放在計算機內存中一組地址連續的存儲單元中。

相關文章
相關標籤/搜索