//定义结构体多种方式 void test() { /* 1.定义结构体变量的3种方式 1> 先定义类型,再定义变量(分开定义) struct student { int age; }; struct student stu1;
2> 定义类型的同时定义变量 struct student { int age; }stu1; struct student stu2;
3> 定义类型的同时定义变量(省略了类型名称) struct { int age; }stu; struct { int age; }stu1; */
/*定义结构体变量的第3种方式 struct { int age; double height; char* name; }stu; //缺点是下次再定义变量时,要重新复制,因为结构体类型不能重用 struct { int age; double height; char* name; }stu2; */
/*错误写法:结构体类型重复定义,就像重复定义变量一样 struct student { int age; double height; char* name; }stu; struct student { int age; double height; char* name; }stu2;//会报错,结构体类型struct student重复定义 */
/*结构体类型不能重复定义 struct student { int age; }; struct student { double height; }; struct student stu; */
/* 这句代码做了两件事情: 1.定义结构体类型 2.利用新定义好的类型来定义结构体变量
//定义变量的第2种方式:定义类型的同时定义变量 struct student { int age; double height; char* name; }stu; //相当于int a; struct student stu2; */ //************************************* /* // 定义变量的第1种方式 // 1.定义结构体类型 struct student { int age; double height; char* name; };
//2.定义结构体类型变量 struct student stu = {20, 1.78, "jack"}; */
}
|