第四章数组 4.1概述 4.2一维数组 4.3二维数组 4.4字符数组
第四章 数组 4.1 概述 4.2 一维数组 4.3 二维数组 4.4 字符数组
4.1概迷 数组是有序数据的集合。 数组中的每一个元素 什么是 都属于同一个数据类 数組呢? 0型。用一个统一的数 组名和下标來唯一地 确定数组中的元素。 当要对一组数据进行排序、在一组数中査找某个薮据, 矩阵计算等,通常都要用数组來实现
4.1 概述 数组是有序数据的集合。 数组中的每一个元素 都属于同一个数据类 型。用一个统一的数 组名和下标来唯一地 确定数组中的元素。 什么是 数组呢? 当要对一组数据进行排序、在一组数中查找某个数据, 矩阵计算等,通常都要用数组来实现
4.2一维数组 []数组运算符 单目远算符 优先级(1) 4.2.1一维数组的定义和初始化 左结合 不能用() 1.定义:类型说明符数组名[常量表达式] 合法标识符 表示元素个数下标从0开始 2.在内存分配若干连焕空间给数组 内存 int a 6; a al|0」 a a2 编译时分配连续内存 a3 内存字节数=数组长度 数组名表示内存首地址, sizeof((元素数据类型) 是地址常量 a 5
2.在内存分配若干连续空间给数组. 4.2 一维数组 1.定义:类型说明符 数组名[常量表达式]; 4.2.1一维数组的定义和初始化 合法标识符 表示元素个数下标从 0 开始 [ ] 数组运算符 单目运算符 优先级(1) 左结合 不能用( ) 例 int a[6]; 编译时分配连续内存 内存字节数=数组长度* 数组名表示内存首地址, sizeof(元素数据类型) 是地址常量 0 a[0] 1 4 5 a[1] a[2] a[3] a[4] a[5] 2 3 a 内存
例inti=15: int datai; (x不能用变量定义数组长度) 例 int data5; data5]=10;∥×C语言对数组不作越界检查,使用时要注意
例 int i = 15; int data[i]; (不能用变量定义数组长度) 例 int data[5]; data[5] = 10; // C语言对数组不作越界检查,使用时要注意
3.一维数组的初始化 今初始化方式 inta5}={1,213,4,5}准突义数组时,为数组元素赋初 等价于:a0=1;a通陞饔携吝門挈L=5; 说明 ●数组不初始化,其元紊值为随机数 ●只给部分数组元素赋初值 在对全詐教初山旷 不 如inta5={6,2,3};/指定的用0填充 普价=6武門奔P产3唧390严早 辈2.(x ia译制雄知值式数输模鞍维咔度
3. 一维数组的初始化 ❖初始化方式 在定义数组时,为数组元素赋初值 (在编译阶段使之得到初值) int a[5]={1,2,3,4,5}; 等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5; ❖说明: ⚫数组不初始化,其元素值为随机数 ⚫在对全部数组元素赋初值时,可不指定数组长度 如 int a[5] = {6,2,3};// 未指定的用 0 填充 等价于:a[0]=6; a[1]=2;a[2]=3; a[3]=0; a[4]=0; 如 int a[3] = {6,2,3,5,1}; () ⚫只给部分数组元素赋初值 int a[ ] = {1,2,3,4,5,6}; 编译系统根据初值个数确定数组长度 ⚫如果想使一个数组中全部元素值为0,可以写成: int a[5] = {0,0,0,0,0}; 或 int a[5] = {0};