16-结构和联合运算符
B.2.8 结构和联合运算符
结构和联合使用一些运算符标识成员。成员运算符与结构和联合一起使用,间接成员运算符与指向结构或联合的指针一起使用。
1.成员运算符
成员运算符( . )与结构名或联合名一起使用,指定结构或联合中的一个成员。如果 name 是一个结构名, member 是该结构模板指定的成员名,那么 name.member 标识该结构中的这个成员。 name.member 的类型就是被指定 member 的类型。在联合中也可以用相同的方式使用成员运算符。
示例
struct {
int code;
float cost;
} item;
item.code = 1265;
上面这条语句把 1265 赋给结构变量 item 的成员 code 。
2.间接成员运算符(或结构指针运算符)
间接成员运算符( -> )与一个指向结构或联合的指针一起使用,标识该结构或联合的一个成员。假设 ptrstr 是一个指向结构的指针, member 是该结构模板指定的成员,那么 ptrstr->member 标识了指针所指向结构的这个成员。在联合中也可以用相同的方式使用间接成员运算符。
示例
struct {
int code;
float cost;
} item, * ptrst;
ptrst = &item;
ptrst->code = 3451;
以上程序段把 3451 赋给结构 item 的成员 code 。下面 3 种写法是等效的:
ptrst->code item.code (*ptrst).code