首页 > 编程知识 正文

C语言枚举类型定义,c语言中枚举类型是什么意思

时间:2023-05-04 19:33:26 阅读:189673 作者:2089

一、枚举类型

枚举类型是语言的一种特殊类型,枚举类型允许程序使用固定长度和固定值的变量值范围。 按如下方式定义枚举类型:

enum枚举类型枚举值列表};

例如,您可以定义枚举类型的值类型范围为星期日到星期五的星期类型,或1月到12月的月份类型。

enum Week{Su,Mo,Tu,we,Th,Fr,Sa}; enum month{January、February、March、April、May、June、July、August、September、October、November、December};

定义枚举类型后,可以根据需要定义枚举类型的变量,然后按如下方式使用:

枚举网络、和; =苏;=莫; =tu; enummonthd、~~和; =January ~~=February; =March

枚举类型的值是多少呢? 可以使用printf函数将L4A、、、~~和这六个变量的值显示为整数。

枚举网络、和; =苏;=莫; =tu; printf (“%%%()、L4A、和); enummonthd、~~和; =January ~~=February; =March printf (“%%%(),,~~,); 0 1 20 1 2

etica-', Arial, sans-serif;font-size:14px;background-color:rgb(255,255,255);">        可以看到枚举类型的值其实就是从0开始正整数的序列,也就是说枚举类型其实是为了编程者方便的书写和理解程序代码而设定的一种具有特定使用功能的变量,这些变量的值其实就是从0开始的正整数。其实枚举类型与整数类型没有什么太大的区别,例如我们同样可以定义两个int类型的变量表示星期和月份,对星期变量赋值时采用0~6表示周日到周五,而对月份赋值时采用0~11表示一月到十二月。

        定义枚举类型的好处是可以让编程者方便的使用自定义的变量值来替代数字值,这样会使我们的代码有更高的可读性,而从本质上讲枚举除了在代码中是以文字形式出现的变量值之外(内部还是数字)与整数值其实并没有什么区别。

 

        二、类型定义

        使类型定义时需要使用类型定义符typedef,它的功能是可以将一个原有的变量类型定义一个新的变量类型,例如:

 

typedef char s8;typedef unsigned char u8;typedef short s16;typedef unsigned short u16;typedef int s32;typedef unsigned int u32;typedef long long s64;typedef unsigned long long u64;typedef enum week eweek;typedef enum month emonth;

        其实定义新的数据类型这种说法并不准确,typedef关键字只不过是让编译器将原有的数据类型设定一个新的类型名称,而使得程序可以使用这些新的类型名来表示原来的类型。例如原来的unsigned char类型、unsigned short类型、enum week类型和enum month类型被设定了新在类型名称u8、u16、eweek和emonth,所以在程序中可以直接这样来使用,而使用了新类型的变量与原来类型的变量没有任何区别:

 

u8 a = 0;u16 b = 1;eweek c = Mo;emonth d = September;

 

        类型定义符typedef不仅仅可以对这些基本数据类型进行重新定义其名称,在后续章节中我们还将要学习指针类型、结构体类型、联合体类型等等,类型定义符typedef同样可以使用在这些类型上面,使程序代码变成我们自定义的样子。


欢迎关注公众号:编程外星人


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。