数组是一个变量,存储相同数据类型的 一组数据。(数组定义完成后长度是不可变的)
数组的基本要素:
标识符(数组名)、数组元素、元素下标:从0开始、元素类型(int类型)
数组与内存和变量与内存
栈内存:由程序自动向操作系统申请分配以及回收,速度快,使用方便,但程序员无法控制。若分配失败,则提示栈溢出错误。注意,const局部变量也储存在栈区内,栈区向地址减小的方向增长。(一般存放基本数据类型、引用)
堆内存:程序员向操作系统申请一块内存,当系统收到程序的申请时,会遍历一个记录空闲内存地址的链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。分配的速度较慢,地址不连续,容易碎片化。此外,由程序员申请,同时也必须由程序员负责销毁,否则则导致内存泄露。(一般存放所有new出来的对象,对象的引用放在栈中)
内存空间分为栈内存与堆内存。
数组名放入栈内存,数组元素放在堆内存;通过栈内存的数组名找到堆内存的数组元素。
变量由于比较简单,变量名与变量值都会放在栈内存。
原文:https://www.cnblogs.com/FanKL/p/11228795.html