C语言中的嵌套结构体表示在一个结构体中可以使用另一个结构作为成员。在C语言中定义结构体嵌套有两种方法:
通过独立的结构
通过嵌入式结构
1. 独立结构
我们可以创建2个结构体,但在主结构中应该使用依赖其它结构体作为成员。我们来看看嵌套结构体的代码。
struct Date
{
int dd;
int mm;
int yyyy;
};
struct Employee
{
int id;
char name[20];
struct Date doj; // 嵌套一个结构体:Date,用于存储日期
}emp1;
如上所见,doj(加入日期)是Date类型的变量。 这里doj用作为Employee结构体中的成员。通过这样的方式,我们可以在其他结构体中使用Date结构。
2.嵌入式结构体
我们可以在结构体内定义结构体,它比第一种方式需要更少的代码。但它不能用于其它结构中。
struct Employee
{
int id;
char name[20];
struct Date
{
int dd;
int mm;
int yyyy;
}doj;
}emp1;
访问嵌套结构体
我们可以通过Outer_Structure.Nested_Structure.member访问嵌套结构的成员,如下所示:
e1.doj.dd
e1.d