一、结构体
1.结构体类型的声明
例如描述⼀个学⽣:
#include <stdio.h>
struct student
{
char name[20];
int age;
char sex[10];
char id[20];
};//;不能少
int main()
{
struct student s1 = { "zhangsan",18,"male","12345678910"};
printf("%s\n", s1.name);
printf("%d\n", s1.age);
printf("%s\n", s1.sex);
printf("%s\n", s1.id);
struct student s2 = { .age = 20,.id = "123456789",.sex = "female",.name = "lisi"};
printf("%s\n", s2.name);
printf("%d\n", s2.age);
printf("%s\n", s2.sex);
printf("%s\n", s2.id);
return 0;
}
像s1,是按照结构体成员的顺序初始化,s2便是按照指定的顺序初始化,大家在写代码时可参考以上两种写法。
2. 结构的特殊声明
在声明结构的时候,可以不完全的声明。
如以下写法:
struct
{
char name[20];
int age;
char sex[10];
char id[20];
}s;
注意:这种结构体类型称为匿名结构体类型,只能够使用一次。
3.结构的⾃引⽤
选择我们已经初步的了解了结构体,那我们能不能像下面的代码一样,对结构体进行自引用呢?
struct s
{
char name[20];
int age;
char sex[10];
char id[20];
struct Node next;
};
相信你们此时已经有答案了,答案如图所示: