本章gitee:登录 - Gitee.com
1.数组的概念
数组是一类相同类型的元素的集合,存放的元素需要大于0个。
分类:一维数组和多维数组。
2.一维数组的创建和初始化
2.1数组的创建
基本语法:
type arr_name[常量值];
数组的创建可以指定数组的大小(字节)和元素(存放在数组的值)类型。
type指的是数组中存放数据的类型,如:int , short , char以及自定义类型。
arr_name指的是数组名。
type [ ]:数组类型。
[ ]中的常量值用来指定数组的大小, 根据实际需求指定。
2.2数组的初始化
给创建的数组初始值就是初始化,一般使用大括号并且用逗号隔开,初始化后数组的大小是可以忽略的。
3.一维数组的使用
3.1数组下标
下标:数组元素的编号,从零开始。
[ ]这个操作符为:下标引用操作符,通过这个符号,可以访问数组中的元素。
3.2数组元素的打印
打印数组元素的目的是:访问整个数组的内容(只要产生所有元素的下标即可)。
3.3数组的输入
4.一维数组在内存中的存储
可见相邻元素之间相差4(一个整型为4个字节),结论:数组在内存中是连续存放的。
5.sizeof计算数组元素个数
6.二维数组的创建
6.1二维数组的概念
数组的元素都是内置类型,将一维数组作为数组的元素就是二维数组,以次类推。二维数组以上的数组统称为多维数组。
6.2二维数组的创建
语法:
type arr_name[常量值1][常量值2];
常量值1表示数组行数,常量值2表示每行元素数。
7.二维数组的初始化
7.1不完全初始化
7.2完全初始化
7.3按照行初始化
7.4二维数组初始化时可以省略行,但是不能省略列
8.二维数组的使用
8.1二维数组的下标
二维数组是由行和列组成的,只要锁定行和列就能锁定数组中的一个元素,其他规律与一维数组相当。
8.2二维数组的输入和输出
9.二维数组在内存中的存储
所以⼆维数组中的每个元素都是连续存放的。
10.c99中的变长数组
注意:1.vs2022默认使用msvc这个编译器,而msvc不支持c99中的变长数组,不过gcc和clang支持,而vs2022支持clang。具体看我这篇文章:给vs2022加入clang-CSDN博客
2.变长数组指数组的大小是根据变量来指定,在程序运行的时,根据变量大小确定数组的元素个数,并非数组的大小可变,数组的大小⼀旦确定就不能再变化。
示例:
int n = a + b;
int arr[n];
变长数组的根本特征:数组长度只有运行时才能确定,所以变长数组不能初始化。
11.练习
11.1.多个字符从两端移动,向中间汇聚:
11.2⼆分查找:
前提条件:有序