数组的本质也是一种自定义数据类型,它的对象就是它的元素。
1举个一维数组的例子:int a[3];
这个数组可以看成是一个列向量:a[0],a[1],a[2]的转置。
2举个二维数组的例子:int b[2][3];
这个数组可以看成是一个矩阵:b[0][0],b[0][1],b[0][2]
b[1][0],b[1][1],b[1][2]
3多维数组和二维的类似。
细节:二维数组中,第一个角标表示行数,第二个角标表示列数。二维数组可以看成是一维数组的数组,也就是有一个一维数组有两个元素,这两个元素又分别是一个有三个元素的一维数组。
数组的个数是各个角标的数字乘积。
基本类型的数组,例如int型的,它的元素和普通的int型数据是一样的。
类类型的数组,它的元素的使用和普通类的对象是一样的。
数组的存储是连续存储的,对于二维数组和多维数组是按照行优先原则进行的,先把第一行排完再排第二行,以此类推。
数组的初始化:分为全部初始化和部分初始化。
1全部初始化:将元素的值全部给出,此时元素的个数可以省略,例如:inta[3]={1,1,1};和inta[]={1,1,1};是等价的。
2部分初始化:只给出前一部分的值,后边的值默认是0,例如:int b[5]={1,2,3};此时的1,2,3给了前三个元素,后两个为0,此时的元素个数不能省略。
对于静态数组来说,若定义时没有给出初始值,则默认值都为0。
对于动态数组来说,若定义时没有给出初始值则意味着初始值不确定。
细节:二维数组的初始化可以有两种形式:int a[6]={1,0,0,0,1,0};和int a[6]={{1,0,0}{01,0}};是一样的,而且第二种的可读性更好,最好写成第二种形式。
以上就是我对于数组的一些认识。