📜  C++ 程序的输出 |第 41 组(结构和联合)(1)

📅  最后修改于: 2023-12-03 15:14:01.303000             🧑  作者: Mango

C++程序的输出 | 第41组 (结构和联合)

在C++中,我们可以使用结构和联合这两种自定义数据类型来存储和操作数据。它们可以存储不同类型的数据,从而帮助我们更有效地组织和管理数据。在本组中,我们将探讨如何在C++程序中输出结构和联合。

输出结构

结构是由一组不同类型的数据组成的自定义数据类型。它们经常用于表示实际世界中的对象。我们可以使用结构来存储和操作属于同一对象的多个属性。

在C++中,我们可以使用struct关键字来定义结构。以下是一个示例结构:

struct Person {
    char name[50];
    int age;
    float salary;
};

在上面的示例中,我们定义了一个名为Person的结构,它有三个属性:nameagesalaryname是一个字符数组,可以存储最多50个字符的人名。age是一个整数,表示人的年龄。salary是一个浮点数,表示人的工资。

现在我们来看看如何在程序中输出结构。我们可以使用以下方法:

Person p = {"John Doe", 30, 1500.50};
cout << "Name: " << p.name << endl;
cout << "Age: " << p.age << endl;
cout << "Salary: " << p.salary << endl;

在上面的示例中,我们创建了一个名为pPerson结构,并将其初始化为“John Doe”,30岁和1500.50的工资。我们使用cout语句来打印结构的每个属性。输出如下:

Name: John Doe
Age: 30
Salary: 1500.5

这就是如何在C++程序中输出结构。

输出联合

联合是另一种自定义数据类型,它可以存储多个不同类型的数据,但仅能同时使用其中一个。我们可以使用联合来表示相同的对象在不同情况下可能有不同的数据类型。

在C++中,我们可以使用union关键字来定义联合。以下是一个示例联合:

union Data {
    int id;
    float price;
    char name[50];
};

在上面的示例中,我们定义了一个名为Data的联合,它有三个属性:idpricenameid是一个整数,表示数据的ID。price是一个浮点数,表示数据的价格。name是一个字符数组,可以存储最多50个字符的数据名称。

现在我们来看看如何在程序中输出联合。我们可以使用以下方法:

Data d;
d.id = 101;
cout << "ID: " << d.id << endl;
d.price = 1500.50;
cout << "Price: " << d.price << endl;
strcpy(d.name, "Product A");
cout << "Name: " << d.name << endl;

在上面的示例中,我们创建了一个名为dData联合,并分配一个ID。然后,我们使用cout语句来打印联合的不同属性。请注意,对price属性的赋值将覆盖之前分配的ID值。同样,对name属性的赋值将覆盖price属性和id属性的值。输出如下:

ID: 101
Price: 1500.5
Name: Product A

这就是如何在C++程序中输出联合。

结论

在本组中,我们学习了如何在C++程序中输出结构和联合。结构和联合是非常有用的自定义数据类型,它们可以帮助我们更有效地组织和管理数据。通过使用上述方法,我们可以轻松地输出结构和联合中的属性。