固定存储空间
在最初的设计层面上,数组是依赖内存分配形成的,在使用数组前必须先为它申请空间。这使得数组这种数据结构具有了下面这样的特性:
1、一个数组占据的存储空间大小固定,不能改变
2、所占据的存储空间是专用的,不能被其他信息占据
3、所占据的存储空间是连续性的,中间不能间隔其他的信息
4、数组中的各个元素可以用数组名和下标直接访问
优点
这样的数据结构肯定是很方便的,要读要写都很直接。
无论多长的数字,要访问其中某一个元素,只要知道它的下标,就能一步到位,直接访问对应的样式。
缺点:
它的弊端也非常明显:
1、太占地儿!
一开始就要把以后所有要用的存储空间都申请下来,就算很长时间里装不满,也不许存入其他信息。空置的空间是很可惜的。
2、修改困难
理论上讲,一个数组如果没装满,那么所有的空置位置都应该在尾部,而不是到处乱空。
这样的话,如果给数组中加入新元素,则只能加在尾部,如果要插入到中间位置,就要有一些元素被移动。
反过来,如果删除掉一个元素,也得把后面的再往前挪一位。
连续存储惹的祸
所有这些限制,都是因为数组是连续的一块存储空间,且各元素由下标标识引起的。如果不遵守这些限制,数组相应的好处也就得不到了。