理解计算机内存、数据类型本质、连续存储

要学习数据结构与算法,与数据的类型密不可分,要知道数据在计算机中是如何存取的,需知道计算机中基本的存储单元是字节,一个字节是八个位。在计算机的内存连续的存储空间是由一些基本的存储单元组成的,一个字节(八个位)做为一个地址标识。存数据的时候须要多个存储单元放在一块儿表示。算法

如: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  ,由于一个字节是四个位的。

顺序表的定义:顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即经过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表一般称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。

相关文章
相关标签/搜索