📅  最后修改于: 2023-12-03 14:40:02.589000             🧑  作者: Mango
在C/C++编程中,struct
和enum
是常用的数据类型,它们用于定义用户自定义的数据类型,以便在程序中更方便地使用。
struct
用于定义一个结构体类型,它可以包含多个不同的数据类型,例如整型、字符型、浮点型等等。下面是一个简单的struct
定义:
struct person {
int age;
char name[20];
float salary;
};
以上代码定义了一个名为person
的结构体类型,它包含三个数据成员,分别是age
、name
和salary
。其中,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 color {
red,
green,
blue
};
以上代码定义了一个名为color
的枚举类型,它包含三个枚举值,分别是red
、green
和blue
。我们可以使用该枚举类型定义具体的变量,如下所示:
color c1 = red;
color c2 = blue;
以上代码定义了两个名为c1
和c2
的变量,它们的类型都为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
都可以定义用户自定义的数据类型,但它们有以下区别:
struct
定义的是一个具体的数据类型,该类型可以包含多个成员,每个成员可以是不同的数据类型。例如,上述代码定义的person
就是一个struct
类型。enum
定义的是一组相关的枚举值,每个枚举值都是一个整型常量。例如,上述代码定义的color
就是一个enum
类型。struct
和enum
是C/C++编程中常用的数据类型,它们用于定义用户自定义的数据类型。struct
定义的是一个具体的数据类型,该类型可以包含多个成员,每个成员可以是不同的数据类型;enum
定义的是一组相关的枚举值,每个枚举值都是一个整型常量。在程序中,我们可以使用.
操作符来访问struct
的成员,使用switch
语句来根据enum
的值进行不同的操作。