#include
#include
//结构体变量的使用
/*结构体变量对成员的调用方式:
* 结构体变量.结构体成员
* 注意:这里说的结构体变量说的是普通结构体变量
*
*/
struct stu{
int id;
char name[32];
char sex;
char age;
}zhangsan,lisi={1001,"lisi",'A',20};
//typedef
typedef struct {
int id;
char name[32];
char sex;
char age;
}MSG;
void test(){
struct stu wangwu;
struct stu zhaoliu={1001,"zhoaliu",'B',20};
MSG msg1,msg2={1001,"lisi",'A',20};
zhangsan.id=1001;
strcpy(zhangsan.name,"zhangsan");
zhangsan.sex ='B';
zhangsan.age=18;
printf("%d-%s-%c-%d\n",zhangsan.id,zhangsan.name,zhangsan.sex,zhangsan.age);
printf("%d-%s-%c-%d\n",lisi.id,lisi.name,lisi.sex,lisi.age);
printf("%d-%s-%c-%d\n",zhaoliu.id,zhaoliu.name,zhaoliu.sex,zhaoliu.age);
printf("%d-%s-%c-%d\n",msg2.id,msg2.name,msg2.sex,msg2.age);
}
//在结构体中嵌套结构体
typedef struct{
// 里面的变量是没有空间的,我们只是定义了类型,不能赋值的
int year;
int month;
int day;
}BD;
typedef struct{
int id;
char name[32];
BD birthday;
}STU;
void test1(){
STU xiaoming;
xiaoming.id=1001;
strcpy(xiaoming.name,"xiaoming");
// 如果结构体中嵌套结构体,赋值时找到最内层的成员再进行赋值
xiaoming.birthday.year=2002;
xiaoming.birthday.month=12;
xiaoming.birthday.day=10;
printf("%d-%s-%d:%d:%d\n",xiaoming.id,xiaoming.name,xiaoming.birthday.year,xiaoming.birthday.month,xiaoming.birthday.day);
}
int main()
{
test();
test1();
return 0;
}