【程序员必备小知识-基础5】浅谈数组

169 阅读2分钟

引言

我们前面提了计算机的体系结构,程序的运行方式,接下来说说数据结构,在我看来,数据结构就是数据的使用表现方式,那为啥有数据结构呢?这是因为早期我们认为计算机只是用来处理数值计算的,但是随着计算机的发展,人们已经不满足于数值计算,开始就专业问题抽象成数学模型来用程序解决问题。

模型中的元素自然要有相对应的数据结构进行表示,于是就有了这一门学科,我们可以这样说数据结构是一组以非数值计算为计算目的的程序设计的操作对象,以及它们之间关系和操作等相关问题的学科。

数组

数组就是这么一个由o个或多个数据元素组成的有序数列,若元素存在多个,则第一个元素无前继索引值为0,最后一个元素无后续索引值为数组长度减1.数组长度是有限的,无限的数列,只存在于数学的概念中。

数组长度

数组长度也就是数组元素的个数,如果个数为0就是空数组。

数组的索引

数组是顺序存储的结构,所谓顺序存储,指的是存储单元的地址是连续的,比如:数组从1000开始,如果数组长度为10,那就到1010,对应数组索引0-9,但是这样有个问题,数组中的元素也要占字节呀,比如int占4个字节,那数组0到数组1就是1000-1004,以此类推。

数据的访问

那如果我们知道数组的起始元素的地址,知道数组的长度,我们就可以计算出我们要取元素的地址,然后取出数组中任意的元素了,但是数组元素的类型必须相同。

由于知道索引就可以不必遍历整个数组这一特性,因此我们说数组是可以快速读写的。