数组的定义:
一组相同类型数据的集合//一组相同类型变量的集合
数组的分类:
一维整型数组;一维字符型数组;二维整型数组;二维字符型数组。
数组能应用到的场景有很多:
如在外卖app上面挑选商品时,价格从高到底排序...或者是在统计全校师生的身高......
一维整型数组
语法:
类型说明符 数组名[常量表达式];
(1)类型说明符 -----说明这个数组中放的是哪一种类型的数据
(2)数组名 ------类似于变量名
通过数组名 代表 数组
//数组名起名字的规则与变量名一致
a 代表的是整个数组类型 ----数组也是一种数据类型
数组名代表的值--表示的是数组首元素的地址
也是整个数组的起始地址
(3)[常量表达式] -----[] //中括号在定义时表示此时定义的是一个数组
常量表达式 -----数组长度
所谓数组长度指的时这个数组中相同类型的数据的个数
eg:
int a[10] ; //表示此时定义了一个int型的数组
//定义了一个包含了十个int型变量的数组
float stu[20]; //直接定义了20个float类型的变量
数组类型的大小:
(取决于定义的变量类型) 数组大小 = sizeof(数据类型)* 数组长度。
数组的初始化和赋值:
//初始化
int a[10] = {1,2,3,4,5,6,7,8,9,10}; //{}表示 初始化 依次放入对应的空间 每个数用,隔开
//部分初始化
int a[10] = {1,2,3,4,5}
//未初始化
int a[10] ;
数组初始化为0方法:
1、 int a[10] ={} ;
2、 int a[10] = {0};
数组初始化的时候{可以是算式(整形的常量表达式)} 也就是花括号里面可以是一个算数表达式。
数组元素的引用:
方法:
数组名[] // 此时的[ ]表示 数组下标运算
这个下标表示对第一个数据的偏移量
数组的第一个数据从a[0] 开始
注意:
1、下标
可能会越界 -- 编译不报错,这个问题需要自己检查
2、下标的取值范围
0 ~ 数组长度-1
3、数组长度必须是一个整型(int)
4、数组长度定义时,数组长度可以省略但是实际长度取决于后面的初始化元素的个数
可以省略但是必须要初始化 eg: int a[] = {};
//因为编译器要根据实际给到的值推算出数组长度
5,数组
不能整体赋值
不能整体操作
只能操作数组里面的具体元素
数组特点:
1、单一性 //数组中的元素的类型都是一样的
2、连续性 //数组在内存中开辟的空间都是连续的
3、有序性 //a[0] 后面放的一定是a[1]
//元素间是按照顺序存储的