Hello~一世纪日一更的我又回来了,今天学习,数组!
目录
1.简介
比如我要输入10000个人的身高,你准备咋办?这时候,数组就很方便了。
数组,就是把东西联合起来,统一分析,查找,删除。
看:
明白了吧~
2.一维数组的使用
2.1.定义
定义一个数组不难,格式:
<数据类型> <数组名>[<大小>];
2.2.使用
大小,也叫做下标,为了标准,下面就管大小叫下标。
下标从0开始,到定义时的大小-1结束。
一般我们开数组都往大开,个人习惯是:题目最大值+5
再说开头的问题,输10000个人的身高,就很简单了:
int h[10005];
for (int i = 1; i <= 10000; i++) {
cin >> h[i];
}
给它赋值很简单,但是有一个要点:不能整个数组直接使用:
cout << h; //不行的
这个就非常微妙了,如果你直接输出h,是不会报错的,而且,会输出这个数组第一个元素的地址!
以后学指针也会再次提到这个问题。
2.2.1. 列表初始化
给变量初始化很简单,也可以给数组初始化:
int i[5] = {1, 2, 3, 4, 5}; //i[0]为1,i[1]为2,以此类推
int i[5] = {1, 2, 3, 4}; //i[0]为1,i[1]为2,但是i[4]是0
int i[5] = {}; //所有元素初始化为0
int i[5] {1, 2, 3, 4, 5}; //跟第一行一个效果
看注释就明白了!!!
2.2.2. memset()初始化
使用前需要在第一行加上#include <cstring>,格式如下:
memset(h, 0, sizeof(h)); //将h数组的所有元素都设为0
2.2.3. fill()初始化
使用前需要在第一行加上#include <algorithm>,格式如下:
fill(h, h + 10, 5); //将h数组前10个元素都设为5
3.二维数组的使用
前面我们学的数组都是一维数组,二维数组是什么呢?
3.1.定义
它的每一个元素又是一个数组,这样说你们可能不太理解,上图:
3.2.使用
3.2.1.初始化
二维数组不能用memset()和fill()等函数,只能用列表初始化,看上面的图,我们要把它初始化成:
于是:
int n[3][5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}};
明白了吧~
今天到这里吧~拜~
允许转载,请注明出处