Struct

1. 什么是 struct

struct (结构体)是 C++ 中一种用户自定义的数据类型,它允许你将多个不同类型的数据成员组合成一个单一的单元。这对于表示具有多个属性的实体非常有用。

2. struct 的语法

struct 结构体名 {
    成员类型1 成员名1;
    成员类型2 成员名2;
    // ...
};
  • struct:关键字,用于声明结构体。
  • 结构体名:你为结构体指定的名称。
  • 成员类型:结构体成员的数据类型(例如,intfloatstring 等)。
  • 成员名:结构体成员的名称。

3. struct 的使用

  • 声明结构体变量:
    • 使用 结构体名 变量名; 来声明一个结构体变量。
  • 访问结构体成员:
    • 使用点运算符 (.) 来访问结构体变量的成员。例如,变量名.成员名

4. 示例程序

#include <iostream>
#include <string>
using namespace std;

// 定义一个名为 Person 的结构体
struct Person {
    string name;
    int age;
    string address;
};

int main() {
    // 声明一个 Person 类型的变量 person1
    Person person1;

    // 为 person1 的成员赋值
    person1.name = "张三";
    person1.age = 30;
    person1.address = "北京市";

    // 输出 person1 的成员
    cout << "姓名:" << person1.name << endl;
    cout << "年龄:" << person1.age << endl;
    cout << "地址:" << person1.address << endl;

    // 声明并初始化一个Person类型的变量person2
    Person person2 = {"李四", 25, "上海市"};

    //输出 person2的成员。
    cout << "姓名:" << person2.name << endl;
    cout << "年龄:" << person2.age << endl;
    cout << "地址:" << person2.address << endl;

    return 0;
}

5. 结构体指针

  • 结构体也可以通过指针进行访问。
  • 使用 -> 运算符通过指针访问结构体成员。
#include <iostream>
#include <string>
using namespace std;

struct Person {
    string name;
    int age;
};

int main() {
    Person person1 = {"王五", 28};
    Person* pPerson = &person1;

    cout << "姓名:" << pPerson->name << endl;
    cout << "年龄:" << pPerson->age << endl;

    return 0;
}