C语言学习:数组1 一、数组是什么数组也是一种数据类型数组是有序数据的集合。数组的定义本质上是定义了多个变量eg:int score[1000];表示一次性 开辟了1000个int型变量的空间数组要解决的数据是同一类型的。二、数组分类一维数组整型字符型二维数据整型字符型三、一维数组1.定义方式类型说明符 数组名 [常量表达式]eg: int score[1000];类型说明符说明数组中变量的类型数组名标识符--与变量名命名规则一样[ ][ ]表示定义的是一个数组常量表达式数组的长度--变量个数--数组元素整型的但C99标准之后也可以是变量可变长数组eg:int n; scanf(%d,n); int a[n];//注意不能初始化2.数组元素的引用:a数组名---找到了这个10个变量的集合引用 请说明一下 引用是哪个具体的变量?语法数组名[下标];int a[10] {1,2,3,4,5,6,7,8,9,10};引用数组名[ ]([ ]是下标运算符下标相当于编号)下标取值范围0~~数组长度-1a[0]~a[9]下标是相对于第一个元素的位置注意1数组也是一种数据类型 int a //a是int类型int[10] //表示10个int型的数组 这种数组类型2数组名代表数组对应的数据类型 就是数组类型3数组的特点连续性 开的是一片连续空间、单一性数组中存放的是同一类型的数据 、有序性第一个元素后面就是第二个4数组的地址是首个元素的地址5a是地址常量/固定值int a[10];a{1,2,3,4};//不可行赋值给的是数组中的元素不是数组所以不能给整个数组赋值。3.数组的初始化和赋值3.1.初始化1全部初始化int a[10] {1,2,3,4,5,6,7,8,9,10};2) 部分初始化依次给前面的元素赋初值 后 n个元素值默认为0。3不初始化数组中是随机值(垃圾值)。4初始化成0int a[10]{0};int a[]{ };初始化器默认给05初始化时长度可以省略但是后面要有初始化的值int a[ ];不可行int a[ ]{1,2,3,4};//数组长度由初始化个数推算a。3.2.赋值要给到数组中具体的元素而不是整个数组4.排序升序 1 2 3 4 5降序 5 4 3 2 1C语言统一用升序4.1.排序算法:1选择排序2冒泡排序3插入排序4快速排序 (指针)1选择排序:核心思想:给合适的位置选择合适的数算法实现步骤外层循环控制要找的位置 里层循环控制要找的数