一维数组
数组用来将相同数据类型存储在存储单元里组成的构造类型,数组的每个成员称为一个数组元素。
一、一维数组的初始化
- 动态初始化
1.数据类型[] 数组名 = new 数据类型[数组长度];此时数组中每一个元素都是默认值,int默认值为0,float默认值为0,bool的默认值为false,char的默认值为’\0’,表示空字符,string的默认值为""
2.数据类型[] 数组名 = new 数据类型[数组长度]{元素1,元素2,…};
3.数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…}; - 静态初始化
数据类型[] 数组名 = {元素1,元素2,…};
二、数组的访问
- 从0开始计数,数组中第一个元素的下标为0
- array.Length是数组的长度,只读
- 访问数组时,如果下标所对应的数组元素不存在就会引发数组越界异常
三、引用类型
- 值类型(存储在栈内存):存的是具体的值,int、float、bool、char都是值类型
- 引用类型(存储在堆内存):栈内存里存的是堆内存的地址,数组是引用类型,string是特殊的引用类型。数组属于一种引用类型,因此如果将数组名b赋给数组a,那么数组b在操作数组元素时,实质上操作的还是数组a,如图所示
二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。
一、二维数组的定义
- 数据类型 [,] 数组名;
二、二维数组的初始化
- 动态初始化
1.数据类型 [,] 数组名 = new 数据类型[第一维长度(常量表达式),第二维长度(常量表达式)];
2.数据类型 [,] 数组名 = new 数据类型[,]{数组值}; - 静态初始化
数据类型 [,] 数组名 = {数组值};
int[,] array = { {7,6,3},{2,8,5}}如下图所示