数组的维度和实际生活中的维度类似,比如统计一个班级中同学们的数学成绩,就可以用一维数组,数组的下标认为是学号。
int math[20];
math[4]=90;
学号为4的通讯数学成绩为90分;
如果统计一个班级中所有学科的成绩,那么就需要使用二维数组,
int mark[4][20];
数组算是一种数据结构,没什么适合哪类问题。
程序设计中,需要表示单个的同类数据,就用一维;当同类数据有好几种时就用多维的。
哪一类是什么类呢,如果是变量类型的话,那么是哪一种数据类型都是支持的。
int a[];
float b[][];
如果是应用,一般看你要存储什么样的数据,是不是成对的,成对的一般使用二维的
和数组名字一样,一维问题(单个矢量、同种数据)就用一维数组
(平面矢量、多组同种或不同数据、矩阵)就用二维数组
一维数组适合绝大多数情况,二维数组其实可以看作一维数组的特例(它在内部其实也是类似一维数组存储,只是多了一层如何分组),对于如a[4][5]其实等效于b[20]只是多了a[0]a[1]a[2]a[3]这几个指向不同地址位置的指针变量信息,如果让b=a[0] 且存储的数据类型相同的话(虽然这里不是太恰当,但可以说明数据如何存储),则a[0]=&b[0]a[1]=&b[5]a[2]=&b[10]a[3]=&b[15]。即能用二维数组的地方其实也都能用一维数组。
二维数组主要用在表示矩阵等大量信息,明确分组,用来表示矢量平面上的点信息,此外有时二维数组用在多条字符串处理上(这个其实特别适合用二维数组,不太适合用一维数组)。
一位数组就是小时候穿蚱蜢那样,一个接一个,一根绳上串一串,想要那个就直接报位置[下标]就行了,
二维数组就是你想把胖的,瘦的分开,那就需要两根三根甚至更多跟绳子来分,
但是你会发现,其实二维数组还是和一位数组一样,只不过这个二维数组中存放的元素是一位数组罢了。
一维数组适用于同一类的数据存放
二维就是有两类数据同时进行存放,比如长方形的长和宽就可以用二维数组存放