在定义了结构体变量以后,当然可以引用这个变量。 (1) 可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。如上面的student1和student2都是student类型的变量,可以这样赋值: student1= student2; (2) 可以引用一个结构体变量中的一个成员的值。例如, student1.num表示结构体变量student1中的成员的值,如果student1的值如图7.2所示,则student1.num的值为10001。 引用结构体变量中成员的一般方式为 结构体变量名.成员名 例如可以这样对变量的成员赋值: student1.num=10010; (3) 如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级地找到最低一级的成员。例如,对上面定义的结构体变量student1, 可以这样访问各成员: student1.num (引用结构体变量student1中的num成员) 如果想引用student1变量中的birthday成员中的month成员,不能写成student1.month,必须逐级引用,即 student1.birthday.month (引用结构体变量student1中的birthday成员中的month成员) (4) 不能将一个结构体变量作为一个整体进行输入和输出。例如,已定义student1和student2为结构体变量,并且它们已有值。不能企图这样输出结构体变量中的各成员的值: cout<<student1; 只能对结构体变量中的各个成员分别进行输入和输出。 (5) 对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算种类)。例如 student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student1.age; 由于“.”运算符的优先级最高,因此student1.age++相当于(student1.age)++。++是对student1.age进行自加运算,而不是先对age进行自加运算。 (6) 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。如 cout<<&student1; //输出student1的首地址 cout<<&student1.age; //输出student1.age的地址 结构体变量的地址主要用作函数参数,将结构体变量的地址传递给形参。

评论