在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。 结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;
//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c //同时又声明了结构体变量s1 //这个结构体并没有标明其标签 struct { int a; char b; double c; } S1; //同上声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c //结构体的标签被命名为Student,没有声明变量 struct Student { int a; char b; double c; }; //也可以用typedef创建新类型 typedef struct Student2 { int a; char b; double c; } Stu2; //现在可以用Stu2作为类型声明新的结构体变量Student2结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而通常这种指针的应用是为了实现一些更高级的数据结构如链表和树等。
//结构体Student包含其他的v结构体 struct Bir { int day; int moon; int year; }; struct Stuent { char name[20]; int age; struct Bir; };结构体和其他类型基础数据类型一样,例如int型,char类型只不过结构体可以做成你想要的数据类型.方便日后的使用。 结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。