结构体的声明
一、普通形式,只定义结构体
/// <summary>
/// 1.普通形式,只定义结构体
/// 此时的Student相当于一个类型名
/// </summary>
struct Student {
string name;//姓名
int age;//年龄
int grade;//班级
};
二、定义结构体同时也定义变量
/// <summary>
/// 2.定义结构体同时也定义变量
/// 这种形式与第1种形式相同,即定义了一个结构体Student2
/// 只是在定义结构体的同时也定义了一个结构体变量liLei
/// 后续可以直接使用结构体变量liLei
/// </summary>
struct Student2 {
string name;
int age;
int grade;
} liLei;
三、定义结构体时缺失结构体名,同时定义结构体变量
/// <summary>
/// 3.定义结构体时缺失结构体名,同时定义结构体变量
/// 只能使用已定义好的结构体变量,无法定义新的结构变量,因为没有结构体名
/// </summary>
struct {
string name;
int age;
int grade;
} hanMeiMei,xiaoZheng;
四、使用typedef定义结构体的同时为结构体取别名
/// <summary>
/// 4.使用typedef定义结构体的同时为结构体取别名
/// 使用别名声明变量时,不用加struct
/// alias:别名
/// </summary>
typedef struct Student3 {
string name;
int age;
int grade;
} aliasStudent3;
五、使用typedef,定义结构体缺失结构体名,只取别名
/// <summary>
///5. 使用typedef,定义结构体缺失结构体名,只取别名
/// </summary>
typedef struct {
string name;
int age;
int grade;
} aliasStudent4;
结构体的使用
//1.普通形式定义
struct Student zhangSan;
zhangSan.name = "张三";
zhangSan.age = 20;
zhangSan.grade = 6;
Student liSi = { "李四",15,5 };
cout << "zhangSan age is " << zhangSan.age << endl;
//2.定义结构体同时也定义变量
liLei = { "李雷",15,5};
struct Student2 wangWu = {"王五", 10, 3};
cout << "wangWu name is " << wangWu.name<<endl;
//3.定义结构体时缺失结构体名,同时定义结构体变量
hanMeiMei = { "韩梅梅",9,2 };
xiaoZheng = {"小郑", 11,4};
cout << "hanMeiMei name is " << hanMeiMei.name<<endl;
//4.使用typedef定义结构体的同时为结构体取别名
aliasStudent3 zhaoQi = {"赵七", 12, 5};
cout<<"zhaoQi name is " << zhaoQi.name<<endl;
//5.使用typedef,定义结构体缺失结构体名,只取别名
aliasStudent4 wangJiu = { "王九", 13, 6 };
cout << "wangJiu age is " << zhaoQi.age << endl;