一,数组
1.概念:
数组是一组相同类型元素的集合。
数组中存放的是1个或多个数据,但是数组的元素个数不能为0。
数组中存放的多个数据,类型是相同的。
2.一堆数组的创建和初始化
2.1数组的创建
一维数组基本语法如下:
type arr_name[常量值];
类型+数组名+【常量值】
eg:
int arr[5];
char ch[8];
存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的大小和数组的元素类型。
[ ] 中的常量值是用来指定数组的大小的,这个数组的大小是根据实际的需求指定就行。
arr_name 指的是数组名的名字,这个名字根据实际情况,起的有意义就行。
2.2数组的初始化
数组的初始化一般使用大括号,将数据放在大括号中。
2.3数组的类型
数组算是一种自定义类型,去掉数组名留下的就是数组类型。
3.一维数组的使用
3.1数组下标:
C语言规定数组是有下标的,下标是从0开始的,假设数组有n个元素,最后一个元素的下标是n-1
下标就相当于数组元素的编号。
其中 [ ] 是下标引用操作符。使用方法如下。
也可以使用循环的方式去输出:
随即输入,即输出:
4.一维数组在内存中的存储
编号 == 地址 == C语言中的指针
每次选取地址都有所不同。
地址所反映的是16进制的数字,数组是连续递增的。
一维数组在内存中是连续存放的,随着数组下标的增长,地址是由小到大变化的
5.sizeof计算数组元素个数
sizeof能够计算这个变量所占内存空间的大小,单位是字节
sizeof计算的是变量或者类型的长度
数组的显示:
这所计算的是数组的总大小,单位是字节
要知道数组中有多少元素的计算:
总体修改如图所示:
6,二维数组
6.1二维数组的创建
模板:type arr_name[常量值1] [常量值2];
类型+数组名+ 行 + 列 ;
eg:
7,二维数组的初始化
7.1不完全初始化
7.2完全初始化
7.3按照行初始化
7.4初始化可以省略行,不能省略列
8,二维数组的使用
8.1二维数组的下标
和一维数组类似,同为从0开始。
8.2 二维数组的输入与输出:
9,二维数组的存储;
1. 二维数组,在内存中也是连续存放的
2.二维数组相当于一个一维数组的数组,二维数组的每个元素是一维数组。
10. C99中的变长数组
在C99之前,数组的大小是用常量指定的。
C99之后,引入了变长数组的概念,可以使用变量来指定数组的大小。
注意!VS默认不支持C99中的变长数组!!!
DevC++可以使用。
11.数组练习
1.多个字符从两端移动,向中间汇聚