数组——一维数组
1.定义的语法:类型说明符 数组名 [常量表达式];
(1).类型说明符:用来说明要处理的数据的类型
(2).数组名————代表这个数组
(3).[常量表达式]
[ ] //表示一个数组
常量表达式 //不能是浮点型
2.一维数组的初始化和赋值问题
(1)初始化方式
方式1 //初始化列表————全部初始化
方式2 //部分初始化
方式3 //全0初始化
//未初始化的数组:随机值(垃圾值)
注意:数组的长度可以省略,但是前提是必须有初始化值。
3.一维数组元素引用
语法: 数组名[ 下标]; //[ ]下标计算
//下标就是对应元素的数组中的编号
//下标从0开始
数组越界:
注意:1.编译器并不检查这种问题,作为程序员自己小心
2.数组下标的合法范围:[0~len-] //len是数组的大小用sizeof() 计算
3.下标的本质
数组名:
(1)数据类型
数组名————可以代表数组各种类型
eg: sizeof() //整个数组的大小
(2)代表值
代表的是数组对应的起始地址
数组名所代表的地址为数组首元素对应的地址
(3)数组下标:本质上是对应首元素的偏移量(偏移了几个元素)
数组特点:
(1)连续性 //一片连续的空间
(2)有序性
(3)单一性 //同种类型,内存大小都相同
此外注意:1.c99标准开始,数组长度可以是一个整型变量。
2.数组不能整体操作,只能操作具体元素。
eg:找最大值
eg:数组逆序排列
正因为数组的特点有了有序性,所以需要排序
排序:选择排序
冒泡排序
排序:把数据从大到小(降序)或从小到大(升序)排列
选择排序:
eg:
冒泡排序:
eg:
数组还是我认为我学起来还是难的,所以数组我还得多练。