5.3.4 结构变量的使用

在C51语言中,在程序中可以直接使用结构变量,也可以直接使用结构变量的成员,结构变量成员的一般标识形式如下。


结构变量名.成员名


其中,结构变量名为已声明的结构类型变量,成员名为已声明的结构中的结构成员。以前面定义的结构变量Alice和Bob为例,Alice.num即Alice的学号;Bob.sex即Bob的性别。

在C51语言中,相同类型的结构变量之间可以相互赋值,也可以对结构变量中的结构成员,单独进行赋值、修改等操作。结构变量使用的程序示例如下。


include<stdio.h>//头文件

struct student//声明结构

{

int num;//学号

char name[20];//姓名

char sex[2];//性别

int age;//年龄

float score;//成绩

};

void main()//主函数

{

struct student Bob;//声明结构变量Bob

Bob.num=110;

Bob.name=“Bob”;//对每个成员单独进行赋值

Bob.sex=“M”;

Bob.age=21;

Bob.score=93.5;

//输出结构变量的每个成员值

printf(“%s%d%d%s%f\n”,Bob.name,Bob.num,Bob.age,Bob.sex,Bob.score);

}


该程序可以在KeilµVision3编译环境中执行,运行的结果如下。


110 Bob M 21 93.500000


本例中,先声明了结构student,然后在主函数中声明结构变量Bob,并对该结构变量的各结构成员分别进行赋值,最后打印输出Bob的各个成员值。

在程序中使用结构变量时,要注意嵌套式结构的情况,即多重结构变量。多重结构变量是指结构变量的结构成员中有结构类型的数据。对于多重结构,必须逐级找到最内层结构中的结构成员才能正确使用多重结构变量。这部分内容将在特殊结构一节予以详细介绍。