10.1.2 定义结构体类型变量的方法
现在定义了一个结构体类型,此时,就可以把“结构体名”看成是一个类型名。怎样用这个结构体类型呢?有三种使用方法。
(1)结构体类型已经定义过的情况下,看看定义结构体变量的一般形式。

例如,要定义两个结构体类型的变量s1和s2,看如下代码:

(2)定义结构体类型的同时也可以定义变量。

一般形式为:

变量名如果有多个,则变量名之间以逗号分隔。
(3)直接定义结构类型变量,也就是连结构体名都可以省略。
一般形式为:

针对结构体,有几点说明:
①使用结构体,一般要先定义一个结构体类型,然后定义某些变量为该结构体类型的变量,这其实可以看成是两个步骤。
②结构体内可以套结构体。看如下代码:

现在整个结构体类型的感觉如图10.2所示。

图10.2 结构体类型内嵌套结构体类型的感觉
③结构体内成员(成员变量)名可以与程序中的变量名相同,例如定义一个名字叫作num的普通变量,和结构体中定义的intnum;不冲突,彼此互不影响。下面会讲解结构体类型变量的引用,这样就更清楚了。