📜  CC++中Struct和Enum的区别和例子(1)

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

CC++中Struct和Enum的区别和例子

在C/C++编程中,structenum是常用的数据类型,它们用于定义用户自定义的数据类型,以便在程序中更方便地使用。

Struct的定义和使用

struct用于定义一个结构体类型,它可以包含多个不同的数据类型,例如整型、字符型、浮点型等等。下面是一个简单的struct定义:

struct person {
    int age;
    char name[20];
    float salary;
};

以上代码定义了一个名为person的结构体类型,它包含三个数据成员,分别是agenamesalary。其中,age为整型,name为字符型数组,salary为浮点型。我们可以使用该结构体类型定义具体的变量,如下所示:

person p1 = { 27, "Bob", 5000.0 };

以上代码定义了一个名为p1的变量,该变量的类型为person,并为其赋初值。我们可以使用.操作符来访问结构体的成员,如下所示:

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

输出结果为:

Age: 27
Name: Bob
Salary: 5000
Enum的定义和使用

enum用于定义一个枚举类型,它可以包含多个枚举值。下面是一个简单的enum定义:

enum color {
    red,
    green,
    blue
};

以上代码定义了一个名为color的枚举类型,它包含三个枚举值,分别是redgreenblue。我们可以使用该枚举类型定义具体的变量,如下所示:

color c1 = red;
color c2 = blue;

以上代码定义了两个名为c1c2的变量,它们的类型都为color。我们可以将枚举值作为变量的值进行赋值,如上所示。

我们可以使用switch语句来根据枚举值进行不同的操作,如下所示:

switch (c1) {
    case red:
        cout << "Red color" << endl;
        break;
    case green:
        cout << "Green color" << endl;
        break;
    case blue:
        cout << "Blue color" << endl;
        break;
}

以上代码根据c1的值进行不同的输出。如果c1的值为red,则输出"Red color";如果c1的值为blue,则输出"Blue color"

Struct和Enum的区别

structenum都可以定义用户自定义的数据类型,但它们有以下区别:

  • struct定义的是一个具体的数据类型,该类型可以包含多个成员,每个成员可以是不同的数据类型。例如,上述代码定义的person就是一个struct类型。
  • enum定义的是一组相关的枚举值,每个枚举值都是一个整型常量。例如,上述代码定义的color就是一个enum类型。
总结

structenum是C/C++编程中常用的数据类型,它们用于定义用户自定义的数据类型。struct定义的是一个具体的数据类型,该类型可以包含多个成员,每个成员可以是不同的数据类型;enum定义的是一组相关的枚举值,每个枚举值都是一个整型常量。在程序中,我们可以使用.操作符来访问struct的成员,使用switch语句来根据enum的值进行不同的操作。