C语言程序设计 清华大学郑莉安颖莲 维数组 存储顺序 数组元素在内存中顺次存放,它们的 地址是连续的。 例如:具有10个元素的数组a,在内存中的存放 次序如下: a a[0] a[1] a[2]a[3]a[4] a[5] a[]al7] a8]a9] 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 Page 6
C语言程序设计 清华大学 郑莉 安颖莲 Page 6 一维数组 ——存储顺序 数组元素在内存中顺次存放,它们的 地址是连续的。 例如:具有10个元素的数组 a,在内存中的存放 次序如下: 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
C语言程序设计 清华大学郑莉安颖莲 一维数组 初始化 可以在编译阶段使数组得到初值: -在定义数组时对数组元素赋以初值。 例如:static int a[10]={0,1,2,3,4,5,6,7,8,9}; 可以只给一部分元素赋初值。 例如:static int a[10]={0,1,2,3,4: static int b[10]={,1,3,5}; -不能给数组整体赋初值。 在对全部数组元素赋初值时,可以不指定数组长度。 例如:static int a[]={1,2,3,4,5}; 程序举例 Page 7
C语言程序设计 清华大学 郑莉 安颖莲 Page 7 一维数组 ——初始化 可以在编译阶段使数组得到初值: - 在定义数组时对数组元素赋以初值。 例如:static int a[10]={0,1,2,3,4,5,6,7,8,9}; - 可以只给一部分元素赋初值。 例如:static int a[10]={0,1,2,3,4}; static int b[10]={,1,3,5}; - 不能给数组整体赋初值。 - 在对全部数组元素赋初值时,可以不指定数组长度。 例如:static int a[]={1,2,3,4,5}; 程序举例
C语言程序设计 清华大学郑莉安颖莲 二维数组 定义及引用 。 二维数组的定义 类型说明符数组名[常量表达式][常量表达式] 例如:f1oata[3][4]; a0] aoo a01 a02 a03 可以理解为: a1] ·存储顺序 a1o a11 a12 a13 a[2] a20a21a22a23 按行存放,上例中数组a的存储顺序为: a00a01a02ao3a10a11a12a13a20a21a22a23 引用 例如:b[1][2]=a[2][3]/2; 下标不要越界 Page 9
C语言程序设计 清华大学 郑莉 安颖莲 Page 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; 下标不要越界
C语言程序设计 清华大学郑莉安颖莲 二维数组 初始化 ·分行给二维数组赋初值 例如:staticint a34]={1,2,3,4},{5,6,7,8},{9,10,11,12} ·将所有数据写在一个{}内,按顺序赋值 例如:static int a31[4]={1,2,3,4,5,6,7,8,9,10,11,12 可以对部分元素赋初值 例如:staticint a3]I4]={1},{0,6,0,0,11}; 程序举例 Page 10
C语言程序设计 清华大学 郑莉 安颖莲 Page 10 二维数组——初始化 • 分行给二维数组赋初值 例如:static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; • 将所有数据写在一个{}内,按顺序赋值 例如:static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; • 可以对部分元素赋初值 例如:static int a[3][4]={{1},{0,6},{0,0,11}}; 程序举例
C语言程序设计 清华大学郑莉安颖莲 字符数组 ·定义和引用 程序举例1 程序举例2 。 字符串 -字符串常量,例如:"china” 一没有字符串变量,用字符数组来存放字符串 字符串以’\0°为结束标志 字符数组的初始化 例:static char str8]={112,114,111,103,114,97,109,0}; static char str[8]={'p','r','o','g','r','a','m',"\0%); static char str[8]="program"; static char str[]="program"; Page 12
C语言程序设计 清华大学 郑莉 安颖莲 Page 12 字符数组 • 定义和引用 例:static char str[8]={112,114,111,103,114,97,109,0}; static char str[8]={'p','r','o','g','r','a','m','\0'}; static char str[8]="program"; static char str[]="program"; • 字符串 - 字符串常量,例如:"china" - 没有字符串变量,用字符数组来存放字符串 - 字符串以'\0'为结束标志 • 字符数组的初始化 程序举例1 程序举例2