C语言中的结构体
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
定义与声明
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
结构体成员的引用
有两种方式,英文的句点 . ,一个减号加一个大于号 ->。
当结构体是一个指针时要引用结构体的成员就用->而如果不是指针就用.。
如:
struct msg_st {
int a
}
struct msg_st msg;
struct msg_st *ms
msg.a = 10
ms->a = 20
struct stu{
char name[20]
long number
float score[4]
}
再定义指向结构体类型变量的指针变量:
struct stu *p1, *p2
定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;