数组的概念,什么是数组?一维数组和二维数组有什么区别?

一.数组的概念

数组是用来存放一个或多个数据的,但数组存放的个数不能为零。
数组存放的数据类型都是一样的。

2.一维数组创造和初始化

2.1一维数组的创造

type arr_name[常量值];

存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的⼤⼩和数组的元素类型。
• type 指定的是数组中存放数据的类型,可以是: char、short、int、float 等,也可以⾃
定义的类型
• arr_name 指的是数组名的名字,这个名字根据实际情况,起的有意义就⾏。
• [] 中的常量值是⽤来指定数组的⼤⼩的,这个数组的⼤⼩是根据实际的需求指定就⾏。
比如我们想要存放5门考试的成绩

int mark[5];

我们需要存储的数据类型是整数所以这里用了 int
要存放5门成绩,[]写入了5;

2.2一维数组的初始化

有时候我们需要给数组一个初始值

int arr[5]={1,2,3,4,5};

一般都是用大括号{}来定义数组的数值
我们这里的话在{}存入了5个整型的数值
这样的初始化就称为完全初始化
[]定义要存入5个数据,{}刚好存入了5个数据

int arr[]={1,2,3};
int arr[4]={1};

像这样初始化数组也是这样的话一般被称为不完全初始化数组

int arr[5]={1,2,3,4,5,6};

但是像这样初始化是错误的这样数组只会读取到5 ,5后面的数是不会读取的

3.一维数组的运用

3.1用 printf 输出数组的每位数值

int arr[5[={1,2,3,4,5};
//下标      0,1,2,3,4 

数组的下标对应数组的每一位
下标是从0开始的
下面简单的给大家演示一下
在这里插入图片描述
这里输出数组的下标0-4对应的就是数值1-5;
当然可以用之前学过的for循环来输出数组的下标
在这里插入图片描述
i 的值初始化为0;循环5次每次 i 加1
这样运行的结果和上面是一模一样的

3.2用 scanf 输入数组的每一位数值

我们一样用for循环来完成输入每一位下标的数值
在这里插入图片描述
这里我们虽然已经初始化了数组的数值
但是我们是可以替换数组的值的
我们用 scanf 分别输入了 5 4 3 2 1
执行结果就是打印了我们输入的数值
因为我们输入的值分别替换对应下标的每一位

4.二维数组的概念

前⾯学习的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元
素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。

int arr1[5];
int arr2[5];
	|
int arr[2][5];

这就是二维数组的大概意思

4.1二维数组的创立

我们如何定义二维数组呢

type arr_name[常量值1][常量值2];
例如:
int size[5][5];

type:是数组的类型
arr_name:是数组的名字
[常量值1]:表示数组的有多少行
[常量值2]:代表数组的每行有多少元素,即表示列

4.2二维数组的初始化

二维数组的初始化其实和一维数组一样,不一样的是一维数组只需要初始化一行,而二维数组则需要初始化多行。

int size[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12};

这样就是比较规范的完全初始化
数组有 3 行,每行有 4 个元素。

5.二维数组的运用

5.1用printf打印二维数组

二维数组的下标也是从零开始
但是二维数组的下标有俩个

int size[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12};0  1  2  3
标 ____________
0 | 1  2  3  4
1 | 5  6  7  8 
2 | 8  9  10 11

二维数组的下标的 行 与 列 分别都是从零开始的

对应的:size[0][0]==1;

所以想要按顺序打印二维数组的话
在这里插入图片描述
要按顺序打印每行的 4 个元素
这里变成用 for 循环的话
行不变,列变,打印出来的结果是一样。
在这里插入图片描述
所以想要打印数组的每个元素只需要用 for 的嵌套循环即可以完成
在这里插入图片描述

5.2用scanf输入元素给二维数组

同理可以利用二维数组的下标来输入元素
在这里插入图片描述
这里我们更换下标 0,0的元素为20
打印出来 size[0][0] 的值就是20

6.怎么样计算数组的元素个数

数组的大小和它的类型和元素和个数有关
char类型的大小就是一个字节
int 类型的大小就是四个字节

char arr1[]={1,2};
int arr2[]={1,2};
sizeof(arr1)=8;
sizeof(arr2)=2;

我们可以用sizeof计算数组的大小
那怎么计算出数组的元素个数:
在这里插入图片描述
我们只需要拿总数组的大小除数组一个元素的大小即可。
就得出了数组的元素个数。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值