📜  C++结构

📅  最后修改于: 2020-09-25 05:12:33             🧑  作者: Mango

在本文中,您将学习C++编程中的结构。它是什么,如何定义它并在程序中使用它。

结构是一个单一名称下不同数据类型的变量的集合。它与类相似,两者都保存不同数据类型的数据集合。

例如:您想存储有关某人的一些信息:其姓名,公民编号和薪水。您可以轻松创建不同的变量name, citNo, salary以分别存储这些信息。

但是,将来,您将需要存储有关多人的信息。现在,您需要为每个人的每个信息创建不同的变量: name1, citNo1, salary1, name2, citNo2, salary2

您可以轻松地看到代码看起来有多大和混乱。另外,由于变量之间不存在任何关系(信息),因此这将是一项艰巨的任务。

更好的方法是使用单个名称Person收集所有相关信息,并将其用于每个人。现在,代码看起来也更加简洁,易读且高效。

以单个名称Person收集的所有相关信息是一个结构。

如何在C++编程中声明结构?

struct关键字定义结构类型,后跟标识符(结构名称)。

然后,在花括号内,可以声明该结构的一个或多个成员(在花括号内声明变量)。例如:

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

在这里,定义了一个结构person ,该人具有三个成员: nameagesalary

创建结构时,不会分配任何内存。

结构定义只是创建变量的蓝图。您可以将其想象为数据类型。当您如下定义整数时:

int foo;

int指定,变量foo仅可容纳整数元素。同样,结构定义仅指定结构变量在定义时所具有的属性。

注意:请记住以分号(;)结束声明

如何定义结构变量?

一旦您如上所述声明了一个结构person 。您可以将结构变量定义为:

Person bill;

在此,定义了类型为结构P erson的结构变量bill

当定义了结构变量时,只有所需的内存才由编译器分配。

考虑到您具有32位或64位系统, float的内存为4字节, int内存为4字节,而char内存为1字节。

因此,为结构变量bill分配了58个字节的内存。

如何访问结构的成员?

使用点(。) 运算符访问结构变量的成员。

假设您要访问结构变量bill age并将其分配为50。您可以使用以下代码执行此任务:

bill.age = 50;

示例:C++结构

C++程序,用于将数据分配给结构变量的成员并显示它。

#include 
using namespace std;

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

int main()
{
    Person p1;
    
    cout << "Enter Full name: ";
    cin.get(p1.name, 50);
    cout << "Enter age: ";
    cin >> p1.age;
    cout << "Enter salary: ";
    cin >> p1.salary;

    cout << "\nDisplaying Information." << endl;
    cout << "Name: " << p1.name << endl;
    cout <<"Age: " << p1.age << endl;
    cout << "Salary: " << p1.salary;

    return 0;
}

输出

Enter Full name: Magdalena Dankova
Enter age: 27
Enter salary: 1024.4

Displaying Information.
Name: Magdalena Dankova
Age: 27
Salary: 1024.4

这里声明一个结构P erson ,它具有三个成员nameagesalary

main() 函数内部,定义了一个结构变量p1 。然后,要求用户输入信息,并显示用户输入的数据。

您还应该查看这些与结构有关的教程: