Skip to content
本页目录

1 结构体

发布时间:

一、结构体定义

结构体于用户自定义的数据类型,允许用户存储不同的数据类型与java中的class 对象类似

语法:struct 结构体名 {结构体成员列表};
通过结构体创建变量的方式有三种:

  • struct 结构体名 变量名
  • struct 结构体名 变是名={成员1值,成员2值…}
  • 定义结构体时顺便创建变
js


struct student
{
    // 成员列表
    string name; // 姓名
    int age;     // 年龄
    int score;   // 分数
} stu3;          // 结构体变量创建方式3

int main()
{
    // 结构体变量创建方式1
    struct student stu1; // struct关键字可以省略
    stu1.name = "张三";
    stu1.age = 18;
    stu1.score = 100;
    cout << "姓名:" << stu1.name << "年齢:" << stu1.age << "分数:" << stu1.score << endl;

    // 结构体变量创建方式2
    struct student stu2 = {"李四", 19, 60};
    cout << "姓名:" << stu2.name << "年齢:" << stu2.age << "分数:" << stu2.score << endl;

    stu3.name = "张三";
    stu3.age = 18;
    stu3.score = 100;
    cout << "姓名:" << stu3.name << "年齢:" << stu3.age << "分数:" << stu3.score << endl;

    system("pause");
    return 0;
}
   

总结1:定义结构体时的关键字是struct,不可省略
总结2:创建結构体变量时,关键字struct可以省略
总结3:结构体变量利用操作符"”访问成员

二、结构体数组

作用:将自定义的结构体放入到数组中方便维护
语法:struct 结构体名 数组名【元素个数】={ {},{}, ..}
示例:

js

// 结构体定义
struct student
{
    // 成员列表
    string name; // 姓名
    int age;     // 年龄
    int score;   // 分数
};

int main()
{
    // 结构体变量创建方式1
    // 結构体数组
    struct student stuArray[3] = {{"张三", 18, 80}, {"李四", 19, 60}, {"四", 19, 60}};

    // 给结构体数组赋值
    stuArray[2].name = "赵六";
    stuArray[2].age = 80;
    stuArray[2].score = 60;

    // 遍历结构体数组
    for (int i = 0; i < 3; i++)
    {
        cout << "姓名:" << stuArray[i].name
             << "年龄:" << stuArray[i].age
             << "分数:" << stuArray[i].score << endl;
    }
    system("pause");
    return 0;
}
   

三、结构体指针

作用:通过指针访问结构体中的成员

  • 利用操作符 ->可以通过结构体指针访问结构体属性
    示例:
js
// 结构体定义
struct student
{
    // 成员列表
    string name; // 姓名
    int age;     // 年龄
    int score;   // 分数
};

int main()
{
    // 1 创建学生结构图变量
    struct student s = {"张三", 18, 100};
    // 2,通过指针指向结构体变量
    student *p = &s;
    // 通过指针访问结构体变量中的数据
    cout << "姓名" << p->name << "年龄" << p->age << "分数" << p->score << endl;

    system("pause");
    return 0;
}
   

总结:结构体指针可以通过 ->操作符 来访问结构体中的成员