结构体写法(Struct)
一、 结构体
struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
} stu1; //定义结构体类型的同时定义结构体变量
/*
*其他写法:
* ① //先定义结构体类型,再定义结构体变量。
* struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
};
struct stu stu1, stu2;
②
struct {
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
}stu1, stu2;
③
typedef struct student{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
}stu;
stu stu1;
④ //常用
typedef struct{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
}stu;
stu stu1;
*/
二、匿名结构体\联合体
union coat_t{
uint8_t tshirts;
};
struct face_t{
uint8_t nose;
uint8_t eye;
};
struct person_t{
uint8_t hand;
uint8_t leg;
struct face_t face;
struct{
uint8_t heart; //匿名结构体
};
union coat_t coat;
union{
uint8_t jeans; //匿名联合体
};
};
int main()
{
SetSysClock(CLK_SOURCE_PLL_60MHz);
struct person_t person;
person.hand = 1;
person.leg;
person.face.eye;
person.heart; //匿名结构体
person.coat.tshirts;
person.jeans; //匿名联合体
PRINT("hand = %x\r\n", person.hand);
PRINT("stomach = %x\r\n", person.heart);
while(1);
}