inta[100={0};/全部元素置初值为0 4)声明数组时着未给出初始化值,则对于: 全局数组、静态全局数组、静态局部数组的全部元素 将由系统自动初始化为0值; 动态局部数组全部元素的初值不确定,不能直接使用。 5)不能以如下形式初始化数组元素。 int a:5l={1,2,,4,5}
11 int a[100] = { 0 } ;/* 全部元素置初值为0 */ 4) 声明数组时若未给出初始化值,则对于: 全局数组、静态全局数组、静态局部数组的全部元素 将由系统自动初始化为0值; 动态局部数组全部元素的初值不确定,不能直接使用。 5) 不能以如下形式初始化数组元素。 int a[5] = { 1 , 2 , , 4 , 5 } ;
4、一维数组元素的引用 a)引用格式: 数组名[下标] 下标”指出引用哪一个数组元素。与定义时不同,这 里的下标是可含有变量的整型表达式 数组元素的引用形式实际上是一个表达式(因为其中的 []”是运算符),其值是引用的元素在数组中的位置。 但它与一般的表达式不同,它可以像变量一样出现在赋 值号的左边对它赋值,可以对它实施++与-操作。 像这种既有表达式的性质又有变量性质的表达式,我们 把它们称之为左值表达式。 12
12 4、一维数组元素的引用 a) 引用格式: 数组名[下标] “下标”指出引用哪一个数组元素。与定义时不同,这 里的下标是可含有变量的整型表达式。 数组元素的引用形式实际上是一个表达式(因为其中的 “[ ]”是运算符),其值是引用的元素在数组中的位置。 但它与一般的表达式不同,它可以像变量一样出现在赋 值号的左边对它赋值,可以对它实施 ++与 -- 操作。 像这种既有表达式的性质又有变量性质的表达式,我们 把它们称之为左值表达式
b)“下标”的值应满足: 0≤下标<数组大小 但请注意: C编译程序并不检查这个关系式的成立与否。换句话 说,C编译程序并不检查数组下标的越界错误。防止与检 查越界错误完全是程序设计者的责任 下标越界错误会破坏相邻存储区中的内容,甚至会危 及到系统程序。 c)更需注意的是,C编译程序甚至对“下标”为负值的情 况也认为是合法的。如使用x-5来访问数组x中的某个元 素,则把x0的存储位置往左的第5个元素作为x-5来 使用,但这显然产生越出了数组左边界的错误 13
13 b) “下标” 的值应满足 : 0≤下标<数组大小 但请注意: C编译程序并不检查这个关系式的成立与否。换句话 说,C编译程序并不检查数组下标的越界错误。防止与检 查越界错误完全是程序设计者的责任。 下标越界错误会破坏相邻存储区中的内容,甚至会危 及到系统程序。 c) 更需注意的是,C编译程序甚至对“下标”为负值的情 况也认为是合法的。如使用 x[-5]来访问数组x中的某个元 素,则把 x[0] 的存储位置往左的第5个元素作为 x[-5] 来 使用,但这显然产生越出了数组左边界的错误
d)引用数组元素的下标应是在维界范围内的整型值,但 c语言并没有这个限制,数组元素的下标可以是任何表 达式,其值也并非一定要为正整型值,如前面所讲的 还可以是负值,甚至允许是一个浮点数,若是浮点数会 被自动地转换成为整型,转换方法只是简单地将小数部 分去掉。 e)数组元素的使用与变量的使用是类似的,数组元素既 可出现在赋值号的左边对其进行赋值,也可以出现在赋 值号右边的表达式中作为一个运算分量参与表达式的运
14 d) 引用数组元素的下标应是在维界范围内的整型值,但 C语言并没有这个限制,数组元素的下标可以是任何表 达式, 其值也并非一定要为正整型值, 如前面所讲的, 还可以是负值,甚至允许是一个浮点数,若是浮点数会 被自动地转换成为整型,转换方法只是简单地将小数部 分去掉。 e) 数组元素的使用与变量的使用是类似的,数组元素既 可出现在赋值号的左边对其进行赋值,也可以出现在赋 值号右边的表达式中作为一个运算分量参与表达式的运 算
5、一维数组应用例 例1:将a数组中的元素逆序。 maino inta10={1,2,3,4,5,6,7,8,9,10},t,i; for(i=0;i<5;i++){ t=ai a[=a|9i; a19-i=t; or(i=0;i<10;i++) printf((“%d”,a[il); 程序输出:10987654321 15
15 main ( ) { int a[10]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } , t , i ; for ( i=0 ; i<5 ; i++ ) { t = a[i] ; a[i] = a[9-i] ; a[9-i] = t ; } for ( i=0 ; i<10 ; i++ ) printf ( “ %d” , a[i] ) ; } 程序输出: 10 9 8 7 6 5 4 3 2 1 5、一维数组应用例 例1:将 a 数组中的元素逆序