
上QQ阅读APP看书,第一时间看更新
10.1.3 结构体类型变量的引用
前面定义了结构体类型,也定义了某些变量为该类型的变量,怎样使用这些变量呢?
(1)不能将结构体变量作为一个整体进行引用,如上面定义的s1、s2,都是结构体变量,但不能拿来直接用,只能对结构体变量中的各个成员分别引用。引用的方式为:

例如,s1.num表示s1变量中的num成员,可以对该成员直接赋值。看如下代码:

上面的“.”叫作结构体成员运算符,它的优先级非常高,与圆括号()平级,优先级可以参考表2.6,可以把s1.num当作一个整体来看待。
(2)如果成员本身又属于一个结构体类型,则要用若干个结构体成员运算符,一级一级找到最低级成员,只能对最低级成员进行赋值或者存取操作。例如,birthday成员就是结构体类型,要存取这个成员,那么只能访问最低级的成员,也就是month、day、year,无法直接访问birthday。看如下代码:

(3)结构体中的成员又称为成员变量,可以直接看作普通变量,像普通变量一样进行各种运算。看如下代码:

(4)因为成员变量也相当于普通变量,所以它们也是有地址的。
