例1:处理下列32矩阵: 103 521 68 可定义: int a 32: 具有3行2列(共32=6个整型数)的二维数组a 例2:处理多个字符串{“SUN”,“MON”,“TUE”, “wED”, ”THU“,”FRr“,“SAT” 可定义: char weekdayl714; /字符串有结束标志 03*
例1:处理下列3*2矩阵: 10 3 5 21 6 8 可定义: int a[3][2]; 具有3行2列(共3*2=6个整型数)的二维数组a. 例2:处理多个字符串{“SUN”,“MON”,“TUE”, “WED”, ”THU“,”FRI“,“SAT”} 可定义: char weekday[7][4]; /*字符串有结束标志 ‘\0’*/
6.1.2数组的引用 对数组元素的存取操作称为对数组的引用; 维数组元素的引用 形式:数组名[下标 例:inta5];/定义具有5个整型数的数组a* 5个整型数变量(习惯称为下标变量) a[0],a[1],a[2],a[3],a[4 for(i=0;i<5;++) i printf(" input a[%d,,i): scanf(%d,, &aiD printf( a[%d=%od, i, aiD;) 注意:程序员应控制下标边界。编译系统不能处理下标越界错
6.1.2 数组的引用 对数组元素的存取操作称为对数组的引用; 一、一维数组元素的引用 形式: 数组名[下标] 例: int a[5]; /*定义具有5个整型数的数组a*/ 5个整型数变量(习惯称为下标变量): a[0], a[1], a[2], a[3], a[4] for(i=0;i<5;i++) { printf(“input a[%d]”,i); scanf(“%d”,&a[i]); printf(“a[%d]=%d”,i,a[i]); } 注意:程序员应控制下标边界。编译系统不能处理下标越界错 误
二、n维数组元素的引用 形式:数组名[下标1下标2]…下标m 例:inta3[2] 6个整型数:aOJ[O],a[0][1l,alo],a[1[1],a[2[oj,a2[l al0J0]a|0[1 a[1o allal a[20]a[21 逻辑结构 a0|01a01la1a1112】101a21l 物理结构(按行存放)
a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] 二、n维数组元素的引用 形式: 数组名[下标1] [下标2] …[下标n] 例: int a[3][2]; 6个整型数: a[0][0], a[0][1], a[1][0], a[1][1], a[2][0], a[2][1] a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] 逻辑结构 物理结构(按行存放)
下标变化规则: >第一个下标变量:数组名[O1[0].[O] ≯后面下标从0开始先变化,变化一个轮次后,回到初始值0,同 时前面下标发生变化。再开始下一个轮次。 intx3][2][3 18个下标变量依次为 x0100 x0J01x00J2 x0110 x0111x0J12 x1010x101x102x110x111x112 x200x[201x{2l012】x[2l110x[2llx[2121
下标变化规则: ➢第一个下标变量:数组名[0][0]…[0] ➢后面下标从0开始先变化,变化一个轮次后,回到初始值0,同 时前面下标发生变化。再开始下一个轮次。 int x[3][2][3] 18个下标变量依次为: x[0][0][0] x[0][0][1] x[0][0][2] x[0][1][0] x[0][1][1] x[0][1][2] x[1][0][0] x[1][0][1] x[1][0][2] x[1][1][0] x[1][1][1] x[1][1][2] x[2][0][0] x[2][0][1] x[2][0][2] x[2][1][0] x[2][1][1] x[2][1][2]
612数组初始化 (1)显式初始化值的个数与说明长度相同: intx[5}={0,1,2,3,4} inta[2][3}={1,2,34,5,6} (2)有初始化值时,长度说明可缺省,数组长度由初值个数确 定 int yl={1,2,3,4,5,6,7,8} intb[3]={1,2,3,4,56} (3)初始化值的个数小于说明长度: intz[10]={0,1,2,3,4}; /*前5个下标变量赋值* intc[3][4]={{11,12},{21},{31232,33}
6.1.2 数组初始化 (1)显式初始化值的个数与说明长度相同: int x[5]={0,1,2,3,4}; int a[2][3]={1,2,3,4,5,6}; (2)有初始化值时,长度说明可缺省,数组长度由初值个数确 定: int y[]={1,2,3,4,5,6,7,8}; int b[][3]={1,2,3,4,5,6}; (3)初始化值的个数小于说明长度: int z[10]={0,1,2,3,4}; /*前5个下标变量赋值*/ int c[3][4]={{11,12},{21},{31,32,33}};