1.声明结构体
struct student{
char ID[16];
char name[16];
char sex;
float score;
}stu;
2.初始化结构变量
struct student stu={"2023","JLU",'M',100};
3.将一个结构作为另一个结构的成员
struct date{
int year;
int month;
int day;
};
然后在student结构体中加入struct date birthday;
会得到如下结构体
学号 | 姓名 | 性别 | 出生日期 | 成绩 | ||
此时初始化语句为struct student stu={"2024","JLU",'M',{2024,1,1},100};
4.想对ID赋值可以用strcpy(stu.ID,"2024");
想对birthday赋值可用stu.birthday.year=2024;stu.birthday.month=1;stu.birthday.day=1;
5.输出结构成员
如学号:printf("学号:%s\n",stu.ID);
生日:printf("生日:%d年%d月%d日\n",stu.birthday.year,stu.birthday.month,stu.birthday.day);
6.更方便的typedef定义数据类型
typedef struct pts{
int x;
int y;
int z;
}Point;
Point my_py;
7.输出最高分学生信息核心代码
stu stu,first;
first.score=-1;
for(int i=1,i<=n;i++)
{
//...省略其他信息输入;
scanf("%f",&stu.score);
if(stu.score>first.score)
first=stu;
}
输出时:
printf("学号:%s\n",first.ID);
8.结构数组
stu stu[30]={{"1","JLU1",'M',100},{"2","JLU2",'F",100}}; 可得到下表
学号 | 姓名 | 性别 | 成绩 |
1 | JLU1 | M | 100 |
2 | JLU2 | F | 100 |
... | ... | ... | ... |
9.结构指针 JLU不怎么涉及该内容
10.结构类型作为函数参数 不怎么涉及
11.联合和枚举 不怎么涉及