数组

什么是数组

数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式,是用于储存多个相同类型数据的集合。通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。

数组概念

数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。

数组的特点

数组的三个基本特点:

  1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  2. 其元素必须是相同类型,不允许出现混合类型。
  3. 数组类型可以是任何数据类型,包括基本数据类型和引用类型。
  4. 数组是一块连续的内存空间,以下标来描述空间的位置。下标从 0 开始,最大下标为数组长度-1。
  5. 数组创建后,不能改变。

数组优缺点

优点

  1. 按照索引查询元素速度快;
  2. 能存储大量数据;
  3. 按照索引遍历数组方便;
  4. 数组定义简单,而且访问很方便;
  5. 可以随机访问其中的元素。

缺点

  1. 根据内容查找元素速度慢;
  2. 数组的大小一经确定不能改变,不适合动态存储;
  3. 数组智能存储一种类型的数据;
  4. 增加、删除元素效率慢;
  5. 未封装任何方法,所有操作都需要用户自己定义;
  6. 数组的空间必须是连续的,这就造成数组在内存中分配空间时必须找到一块连续的内存空间。所以数组不可能定义的太大,因为内存中不可能有那么多大的连续的内存空间,而解决这个问题的方法就是使用链表。

图解数组

数组的结构定义如下:

01_数组.png

我们定义了一个数组变量 a,其有九个元素,第一个元素为 A,最后一个元素为 I,其中,第一个元素的索引为 0,最后一个元素的索引为 8.

变量 a 是数组名,同时也是数组元素的首地址。我们也可以看出,数组在内存中是连续存放的,也就是说,数组的内存地址是连续的。