结构体的声明和使用总结

结构体的声明

一、普通形式,只定义结构体

/// <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;

参考文章:结构体struct的定义和使用_在下马农的博客-CSDN博客_struct定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值