一维数组 存储顺序 数组元素在内存中顺次存放,它们的 地址是连续的 例如:具有10个元素的数组a,在内存中 的存放次序如下: a a[0] a[l] a[2] a[3] a[4] a[5] a[6] a[7 a[ 8] a[9] 数组名字是数组首元素的内存地址。 数组名是一个鸴量,不能被赋值
6 一维数组 ——存储顺序 数组元素在内存中顺次存放,它们的 地址是连续的。 例如:具有10个元素的数组 a,在内存中 的存放次序如下: 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
维数组 初始化 可以在编译阶段使数组得到初值: 在定义数组时对数组元素赋以初值 例如:inta[10]={0,1,2,3,4,5,6,78,9} ■可以只给一部分元素赋初值 例如:inta[10]={0,1,2,34} intb[10=135} 不能给数组整体赋初值。 ■在对全部数组元素赋初值时,可以不指定数组长度。 例如:inta={1,2,345}; 程序举例
7 一维数组——初始化 可以在编译阶段使数组得到初值: ◼ 在定义数组时对数组元素赋以初值。 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; ◼ 可以只给一部分元素赋初值。 例如:int a[10]={0,1,2,3,4}; int b[10]={,1,,3,,5}; ◼ 不能给数组整体赋初值。 ◼ 在对全部数组元素赋初值时,可以不指定数组长度。 例如: int a[]={1,2,3,4,5}; 程序举例
二维数组 定义及引用 维数组的定义 类型说明符数组名[常量表达式I常量表达式 例如: float a[3[4]; doo ao1 a02 a03 可以理解为: 存储顺序 a a[1]--a10 a11 a12 a13 按行存放,上例中数组a的召顺序男21233 aoo ao1 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 引用 例如:b[12]=a[2][3]/2; 下标不要越界
9 存储顺序 按行存放,上例中数组a的存储顺序为: 二维数组——定义及引用 ◼ 二维数组的定义 类型说明符 数组名[常量表达式][常量表达式] 例如:float a[3][4]; a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a[0]——a00 a01 a02 a03 a[1]——a10 a11 a12 a13 a[2]——a20 a21 a22 a23 可以理解为: a 引用 例如:b[1][2]=a[2][3]/2; 下标不要越界
二维数组 初始化 ■分行给二维数组赋初值 例如:inta[3[4={12,34}{5,6,7,8},{9,10,11,12}} 将所有数据写在一个{}内,按顺序赋值 例如:inta[3[4={1,2,34,5,6,7.8,9,10,11,12} 可以对部分元素赋初值 例如:inta[3[4={1}{0,6},{0,0,11}; 程序举例 10
10 二维数组——初始化 ◼ 分行给二维数组赋初值 例如:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; ◼ 将所有数据写在一个{}内,按顺序赋值 例如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; ◼ 可以对部分元素赋初值 例如:int a[3][4]={{1},{0,6},{0,0,11}}; 程序举例
字符数组 定义和引用 程序举例1 程序举例2 用来存放字符数据的数组。 Char c[10]={I,”a,m2,2,h,a’,p',p',’y} 注意:初值的字符个数应小于或等于数组长度如果初值个数小于数 组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自 动定为空字符(即”\0) Char clEfT,,a','m,,h,,a',p,,p,y 表示初值的个数即为数组的长度
12 字符数组 ◼ 定义和引用 用来存放字符数据的数组。 Char c[10]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’} 注意:初值的字符个数应小于或等于数组长度,如果初值个数小于数 组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自 动定为空字符(即'\0') Char c[]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’} 表示初值的个数即为数组的长度 程序举例1 程序举例2