当前位置:嗨网首页>书籍在线阅读

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