10-标识结构数组的成员
14.4.2 标识结构数组的成员
为了标识结构数组中的成员,可以采用访问单独结构的规则:在结构名后面加一个点运算符,再在点运算符后面写上成员名。如下所示:
library[0].value /* 第1个数组元素与value 相关联 */
library[4].title /* 第5个数组元素与title 相关联 */
注意,数组下标紧跟在 library 后面,不是成员名后面:
library.value[2] // 错误
library[2].value // 正确
使用 library[2].value 的原因是: library[2] 是结构变量名,正如 library[1] 是另一个变量名。
顺带一提,下面的表达式代表什么?
library[2].title[4]
这是 library 数组第3个结构变量( library[2] 部分)中书名的第5个字符( title[4] 部分)。以程序清单14.2的输出为例,这个字符是 e 。该例指出,点运算符右侧的下标作用于各个成员,点运算符左侧的下标作用于结构数组。
最后,总结一下:
library // 一个book 结构的数组
library[2] // 一个数组元素,该元素是book结构
library[2].title // 一个char数组(library[2]的title成员)
library[2].title[4] // 数组中library[2]元素的title 成员的一个字符
下面,我们来讨论一下这个程序。