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>