当前位置: 首页 > 文档资料 > C++大学教程 >

4.2 数组

优质
小牛编辑
125浏览
2023-12-01

数组是具有相同名称和相同类型的一组连续内存地址。要引用数组中的特定位置或元素,就要指定数组中的特定位置或元素的位置号(position number)。

图4.1显示了整型数组c。这个数组包含12个元素。可以用数组名加上方括号(1))中该元素的位置号引用该元素。数组中的第一个元素称为第0个元素(zeroth elemem)。这样,c数组中的第一个元素为c[0],c数组中的第二个元素为c[1],c数组中的第七个元素为c[6],一般来说,c数组中的第i个元素为c[i-1]。数组名的规则与其他变量名相同。

方括号中的位置号通常称为下标(subscript),下标应为整数或整型表达式。如果程序用整型表达式下标,则要求值这个整型表达式以确定下标,例如,假设a等于5,b等于6,则下列语句:

c[a + b] += 2

将数组元素c[11]加2。注意带下标的数组名是个左值,可用于赋值语句的左边。

图4.1中整个数组的名称为c,该数组的12个元素为c[0]、c[1]、c[2]...c[11]。的值为-45、c[1]的值为6、c[2]的值为0,c[7]的值为62、c[11]的值为78。要打印数组c中前三个元素的和,用下列语句:

cout<< c[0]+c[1]+c[2] <<endl;

要将数组c的第7个元素的值除以2,并将结果赋给变量x,用下列语句:
x = c[6] / 2;

常见编程错误 4.1
一定要注意“数组的第7个元素”与“数组元素7”之间的差别。由于数组下标从0开始,因此“数组第7个元素”的下标为6,而“数组元素7”的下标为7,是第8个元素。这常常是“差1错误”的原因。
包括数组下标的方括号实际上是个C++运算符。方括号的优先级与括号相同。图4.2显示了本书前面介绍的C++运算符优先级和结合律。运算符优先级从上到下逐渐减少。

运算符结合律类型
() []从左向右括号
++ -- + - ! static_cast()从右向左一元
* / %从左向右
+ -从左向右
<< >>从左向右插入/读取
< <= > >=从左向右关系
== !=从左向右相等
&&从左向右逻辑与
从左向右逻辑或
?:从右向左条件
= += -= *= /= %=从左向右赋值
,从左向右逗号

图 4.2 运算符的优先级和结合律