C++ 枚举类型和共用体类型

文章概述

我们主要学习的是:
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. 定义一个共用体变量的时候,编译器会根据共用体成员中占用最多内存空间的变量分配空间,这样使得共用体变量中的所有成员都能获得足够的内存空间。

猜你喜欢

转载自blog.csdn.net/wue1206/article/details/80997272