快捷搜索:  汽车  科技

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)enum Weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}; [enum] weekday myday; 关键字:enum 枚举类型名:Weekday 枚举类型变量: myday//1.自动赋值 enum weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}; //1.等效结果 enum weekday {Sunday=0 Monday=1 Tuesday=2 Wednesday=3 Thursday=4 Friday=5 Saturday=6}; //2.可自行修改 enum weekday {Sunday=3 Monday=2 Tuesday=1 Wednesday=5 Thursday=0 Friday=4 Saturday

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(1)

枚举数据类型

枚举:一一列举。枚举类型是一些标识符的集合,从形式上看枚举类型就是用大括号将不同的标识符名称放在一起。用枚举类型声明的变量,其变量的值只能取自括号内的这些标识符。关键字:enum。

枚举类型的声明

1.枚举类型的一般形式。

enum 枚举类型名 {标识符列表};

实例:

enum weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday};

2.带赋值形式的枚举类型声明

enum 枚举类型名 { 标识符[=整型常数] 标识符[=整型常数] ... 标识符[=整型常数] }枚举变量;

实例:

enum Weekday { Sunday =0 Monday=1 Tuesday=2 Wednesday=3 Thursday=4 Friday=5 Saturday=6 };

注:

  1. 编译器默认将标识符自动赋予整型常数。
  2. 可以自行修改整型常数的值。
  3. 如果只给前几个标识符赋整型常数,编译器会给后面的标识符自动累加赋值。

实例:

//1.自动赋值 enum weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}; //1.等效结果 enum weekday {Sunday=0 Monday=1 Tuesday=2 Wednesday=3 Thursday=4 Friday=5 Saturday=6}; //2.可自行修改 enum weekday {Sunday=3 Monday=2 Tuesday=1 Wednesday=5 Thursday=0 Friday=4 Saturday=6}; //3.自动累加赋值 enum weekday {Sunday=7 Monday=1 Tuesday=2 Wednesday Thursday Friday Saturday}; //3.等效结果 enum weekday {Sunday=7 Monday=1 Tuesday=2 Wednesday=3 Thursday=4 Friday=5 Saturday=6};

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(2)

枚举类型变量

定义变量方法:

enum Weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}; [enum] weekday myday;

关键字:enum 枚举类型名:Weekday 枚举类型变量: myday

注:

在C语言中,枚举类型名 包括关键字enum ,在C 语言中,允许不写关键字enum。

使用枚举变量方法

1.枚举变量的值只能是Sunday到Saturday之一。

myday = Tuesday; myday = Saturday;

2.一个整型数据不能直接赋值给一个枚举变量。

enum weekday{Sunday=7 Monday=1 Tuesday=2 Wednesday Thursday Friday Saturday}; enum weekday myday;

myday=3; 是错误的赋值方式。 必须通过强制类型转换来赋值。

例如:

myday =(enum weekday) 3 ; myday =Wednesday; //两个效果等同,均为正确赋值方式。

3.可以直接定义枚举变量。

enum{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}myday week_end;

实例赋值输出:

#include <iostream> using namespace std; void main() { enum weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}; int a =2 b=1; weekday myday; myday =(weekday)a; cout<<myday<<endl; myday=(weekday)(a-b); cout<<myday<<endl; myday=(weekday)(Sunday Wednesday); cout<<myday<<endl; myday=(weekday)5; cout<<myday<<endl; system("pause"); }

结果为:

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(3)

枚举类型的运算

枚举值相当于整数,可用枚举值来进行一些运算。

1.利用枚举值作判断比较。

枚举值可以和整型变量一起比较,枚举值之间也可以比较。

#include <iostream> using namespace std; enum weekday{Sunday Monday Tuesday Wednesday Thursday Friday Saturday}; void main() { weekday myday1 myday2; myday1=Monday; myday2=Saturday; int n; n = myday1; n= myday2 1; cout << "n=" <<n <<endl; cout << "myday1=" << myday1 << endl; cout << "myday2=" << myday2 << endl; if(n>myday1) //枚举值和整型变量比较 cout<<"n>myday1"<<endl; if(myday1<myday2) //枚举值和枚举值比较 cout<<"myday1<myday2"<<endl; system("pause"); }

结果为:

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(4)

2.利用枚举类型进行减法运算。 枚举值可直接进行减法运算。

#include<iostream> using namespace std; void main() { enum weekday { Sunday = 2 Monday =3 Tuesday=4 Wednesday=5 Thursday=6 Friday=7 Saturday=1 }; weekday myday1; weekday myday2; myday1 =Sunday; //2 myday2 = Wednesday; //5 cout<<myday1-myday2<<endl; //-3 system("pause"); }

结果为:-3

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(5)

自定义数据类型

自定义数据类型,即用户自己定义类型说明符。其实就是由用户为定义的数据类型名另外再取一个别名,以便简化对类型名的引用,增加程序的可读性。 运用type of 完成操作。

语法:

typedef<原类型名> <新类型名>

注:

原类型名:任意已定义的数据类型,包括系统的各种基本数据类型名以及用户自定义的构造类型名。

新类型名: 用户自己命名的标识符,在以后变量的声明中可以直接使用该名称。

例如:

typedef int integer integer a b; int a b; //等效

使用自定义数据类型输出数据:

typedef char *CString ; #include<iostream> void main() { CString str ; char temp[] = "Hello World"; str =temp; cout<<str<<endl; system("pause"); }

结果为:

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(6)

注:

程序将字符指针重命名为CString ,CString就代表字符指针。

自定义数据类型的大小同原数据类型一样。

实例:

#include<iostream> void main() { typedef char *CString; cout<<sizeof(CString)<<endl; cout<<sizeof(char*)<<endl; system("pause"); }

结果为:

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(7)

即 CString和char* 一样,都是占用4个字节空间。

结构体总结

使用C语言开发的程序一般都大量使用结构体,在C 语言中更是增加了结构体的功能,程序设计阶段应多将关联紧密的数据组合成一个结构体,便于阅读和二次开发。

枚举类型数据怎么获取(枚举类型enum和自定义数据类型)(8)

猜您喜欢: