文章概述
我们主要学习的是:
1. 枚举类型;
2. 共用体类型;
枚举类型
a. 枚举类型的定义以及枚举类型的格式?
枚举类型提供了一组常量的集合。
C++中可以使用关键字enum定义枚举类型,下面是枚举类型的格式:
//enum 枚举类型名 {常量1,常量2,常量3,常量4...}
enum date{Mon,Two,Three,Four};
b. 定义枚举类型时,可以给常量提供一个整数值。如果没有提供整数值,默认第一个常量值为0,第二个常量值为1,依次类推。切记: 枚举类型变量中,后面的常量值一定比前面的常量值大1。
enum date { Mon=0, Two = 2, Three };
Three = 3; //切记枚举类型中后面的常量一定比前面的常量大1。
c. 枚举类型的应用:
enum Date { Mon=0, Two = 2, Three };
void Statues(Date date)
{
switch (date)
{
case Mon:
cout << “星期一” << endl;
break;
case Two:
cout << “星期二” << endl;
break;
case Three:
cout << “星期三” << endl;
break;
default:
break;
}
}
int main()
{
Date da = Mon;
Statues(da);
//不能将整形类型转换为枚举类型
//Statues(0);
}
注意:
a. 枚举类型的变量,不能用整型类型赋值。只能通过枚举类型中的常量。
b. 定义一个函数时,将一个函数的参数设置为枚举类型,这样就限制调用函数必须提供一个枚举类型中的常量,不能随意输入一个整数。
共用体类型
a. 共用体类型的定义和格式
共用体类型的定义: 使得多个变量(共用体的成员)可以共享同一个内存地址。
定义共用体类型的格式(使用关键字union定义共用体):
union Untype
{
char name;
int id;
};
b. 由于共用体的成员共享内存,其中一个成员的值发生变化,其余的成员的值也会发生变化。共用体的内存空间可以用来存放数种不同类型的成员,但是一瞬间只有一个成员起作用,起作用的是最后一次存放的成员。
union Untype
{
char name;
int id;
}type;
type.name ='A';
type.id =2;
//注意: 起作用的是type.id
c. 定义一个共用体变量的时候,编译器会根据共用体成员中占用最多内存空间的变量分配空间,这样使得共用体变量中的所有成员都能获得足够的内存空间。