理论教育 单片机原理及接口技术:结构体应用与访问方法

单片机原理及接口技术:结构体应用与访问方法

时间:2023-11-05 理论教育 版权反馈
【摘要】:以上面定义的classmate结构为例,可以做以下赋值操作:MyClass Mate.Age=10;即对结构变量的成员Age赋值10。假如要定义一个学校400个同学的姓名、性别、年龄,可以定义成一个结构体数组如下:结构数组成员的访问形式为:结构数组元素.成员名例如:TotalStudent[0].nameTotalStudent[10].age结构体指针是指向结构的指针。使用结构体指针对结构成员的访问,与结构变量对结构成员的访问在表达方式上有所不同。

单片机原理及接口技术:结构体应用与访问方法

结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。结构中可以使用不同的数据类型。

1.结构变量的定义

结构也是一种数据类型,读者可以使用结构变量。像其他类型的变量一样,在使用结构变量时要首先对其定义。

需要说明的是,结构名是结构的标识符而不是变量名,结构变量才是使用的变量名。如没有结构变量,则以上仅是对一个结构的说明,具体结构变量可以在以后定义。如:

Struct 结构名 结构变量

举例说明结构变量的定义,如:

以上首先声明一个叫做classmate结构,它包含name、age、sex、grade等成员,然后又定义了一个classmate结构类型的变量,叫做My Class Mate。

2.结构变量的使用

结构变量也可以像其他类型的变量一样赋值、运算。不同的是结构变量以成员作为基本变量,赋值也是对特定的结构成员赋值。结构成员的表示方式为:

结构变量.成员名

如果将“结构变量.成员名”看成一个整体,则这个整体的数据类型与结构中该成员的数据类型相同,这样就可像普通变量那样使用。以上面定义的classmate结构为例,可以做以下赋值操作:

MyClass Mate.Age=10;

即对结构变量的成员Age赋值10。

3.结构体数组与结构体指针

结构作为一种数据类型,同样可以有结构体数组和结构体指针。(www.daowen.com)

结构体数组就是具有相同结构类型的变量集合。假如要定义一个学校400个同学的姓名、性别、年龄,可以定义成一个结构体数组如下:

结构数组成员的访问形式为:结构数组元素.成员名

例如:

TotalStudent[0].name

TotalStudent[10].age

结构体指针是指向结构的指针。它由一个加在结构变量名前的“*”操作符来定义,例如前面定义的student结构,如果读者要定义一个指向该结构的指针可以用如下方法:

Struct student*MyStudent;

即定义了一个指向student结构的指针MyStudent。

使用结构体指针对结构成员的访问,与结构变量对结构成员的访问在表达方式上有所不同。结构体指针对结构成员的访问表示为:

结构指针名->结构成员

例如要给上面定义的student结构中name和age赋值,可以用下面语句:

Strcpy(studeng->name,“xiao ming”);

Studeng->age=10;

实际上,student->name就是(*student).name的缩写形式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈