第五讲:数组

1.数组的概念

数组是一组相同类型元素的集合

数组存放一个或多个数据,但是数组元素不能为零

存放的多个数据,类型相同

分为一维数组和多维数组,多维数组较多的为二维数组

2.一维数组的创建和初始化

数组的创建

创建时可以指定大小和类型

数组的初始化

数组在创建时,需要给定一些初始值,这种就称为初始化

不初始化的默认为0

数组初始化一般使用大括号,将数据放在大括号中

完全和不完全

数组的类型

int是arr数组的元素类型

去掉数组名剩下的就是数组的类型

3.一维数组的使用 

一维数组可以存放数据,存放数据的目的是为了

数组下标

数组有下标

下标从0开始,n个元素,最后一个元素的下标是n-1

可以不写【】中的数字

【】叫下标引用操作符

数组元素的打印

数组的输入

4.一维数组在内存中的存储

数组在内存中是连续存放的,为后期使用指针访问数组奠定了基础

随着下标增长,地址是由小(低)到大(高)变化

5.sizeof计算数组元素个数

sizeof是c语言的关键字,是可以计算类型或者变量大小的,也可以计算数组大小

6.二维数组的创建

type arr_name【行】【列】

二维数组的概念

如果把一维数组作为数组的元素,多个一维数组组合就构成了二维数组,把二维数组作为数组元素的数组被称为三维数组,二维数组以上的数组统称多维数组

二维数组的一行是一维数组

三维同理

二维数组的创建

3为有3行

5为每一行有5个元素

int表示数组每个元素是整形类型

arr_name是数组名,可以根据自己的需要指定名字 

7.二维数组的初始化

创建变量或数组时,给定一些初始值,被称为初始化。

二维数组和以为是数组一样,也是用大括号初始化的

不完全初始化

其余默认初始化为0

完全初始化

按照行初始化

初始化时可以省略行,但是不能省略列

指定行来初始化

初始化时,行可以省略 ,根据初始化内容确定行数

8.二维数组的使用

通过下标来使用

二维数组的下标

行号和列号都从0开始

二维数组的输入和输出

输出

输入

也可以先打印列再打印行

9.二维数组在内存中的存储

编译器每次分配的地址都不一样

每行都差4

二维数组在内存中也是连续存放

二维数组也可以看成一维数组,数组名为arr[0],arr[1],arr[2]

为什么不能省略列?省略了第二个数组不知道从哪儿开始放

10.C99中的变长数组

变长数组的长度只有在运行是才能确定,所以变长数组不能初始化

变长数组的意思是数组的大小可以使用变量指定,但是数组一旦创建后就不可变

注意:变长数组不能初始化

c99之前数组的大小只能使用常量或常量表达式指定

int n=10

int arr[n]//不能使用变量

在c99中引入了变长数组的概念,这时创建数组时可以使用变量来指定,但遗憾的是VS中不支持变长数组

小熊猫C++使用了gcc编译器,gcc编译器支持变长数组

11.数组练习

练习1:多个字符从两端移动,向中间汇聚

Sleep()函数单位为毫秒    

system("cls")清理屏幕上信息    #include<stdio.h>

练习2:二分查找

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值