c言语中enum类型的用法! (c言语中怎么用地址比俩个数的大小)
本文目录导航:
c言语中enum类型的用法!
在实践疑问中,有些变量的取值被限定在一个有限的范畴内。
例如,一个星期内只要七天,一年只要十二个月,一个班每周有六门课程等等。
若把这些量说明为整型,字符型或其它类型显然是不得当的。
为此,C言语提供了一种称为“枚举”的类型。
在“枚举”类型的定义中罗列出一切或者的取值,被说明为该“枚举”类型的变量取值不能超越定义的范畴。
枚举类型是一种基本数据类型,而不是一种结构类型,由于它不能再合成为任何基本类型。
枚举类型的定义和枚举变量的说明如下:枚举的定义:枚举类型定义的普通方式为:enum 枚举名{ 枚举值表 }在枚举值表中应罗列出一切可用值。
这些值也称为枚举元素。
例如,一个名为weekday的枚举,枚举值共有7个,即一周中的七天。
凡被说明为weekday类型变量的取值只能是七天中的某一天。
枚举变量的说明:枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或间接说明。
设有变量a,b,c被说明为上述的weekday,可以驳回下述任一种方式:1. enum weekday{ sun,mou,tue,wed,thu,fri,sat }2. enum weekday a,b,c;3. enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;枚举类型变量的赋值和经常使用:1. 枚举值是常量,不是变量。
不能在程序中用赋值语句再对它赋值。
例如对枚举weekday的元素再作以下赋值:sun=5; mon=2; sun=mon;都是失误的。
2. 枚举元素自身由系统定义了一个示意序号的数值,从0开局顺序定义为0,1,2…。
如在weekday中,sun值为0,mon值为1,…,sat值为6。
【例】main(){enum weekday{ sun,mon,tue,wed,thu,fri,sat } a,b,c;a=sun;b=mon;c=tue;printf(%d,%d,%d,a,b,c);}说明:只能把枚举值赋予枚举变量,不能把元素的数值间接赋予枚举变量。
如:a=sum; b=mon;是正确的。
而:a=0; b=1;是失误的。
如必定要把数值赋予枚举变量,则必定用强迫类型转换。
如:a=(enum weekday)2; 其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于:a=tue; 还应该说明的是枚举元素不是字符常量也不是字符串常量,经常使用时不要加单、双引号。
【例】main(){enum body{ a,b,c,d } month[31],j;int i;j=a;for(i=1;i<=30;i++){month[i]=j;j++;if(j>d) j=a;}for(i=1;i<=30;i++){switch(month[i]){casea:printf( %2d %c\t,i,a);break;caseb:printf( %2d %c\t,i,b);break;casec:printf( %2d %c\t,i,c);break;cased:printf( %2d %c\t,i,d);break;default:break;}}
c言语枚举类型enum用法
c言语枚举类型enum用法如下:
(1) 枚举型是一个汇合,汇合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。
(2)DAY是一个标识符,可以看成这个汇合的名字,是一个可选项,即是可有可无的项。
(3) 第一个枚举成员的自动值为整型的0,后续枚举成员的值在前一个成员上加1。在以后值没有赋值的状况下,枚举类型的以后值总是前一个值+1.
(4) 可以人为设定枚举成员的值,从而自定义某个范畴内的整数。
(5) 枚举型是预解决指令#define的代替。
(6) 类型定义以分号;完结。
enum是C言语中的一个主要字,enum叫枚举数据类型,枚举数据类型形容的是一组整型值的汇合(这句话其实不太得当),枚举型是预解决指令#define的代替,枚举和宏其实十分相似,宏在预解决阶段将名字交流成对应的值,枚举在编译阶段将名字交流成对应的值。
咱们可以将枚举了解为编译阶段的宏,经常使用格局:
enum typeName { valueName1, valueName2, valueName3, ...... };
typeName是枚举类型的名字,花括号外面的元素(枚举成员)是常量而不是变量,这个必定要搞分明,由于枚举成员的是常量,所以不能对它们赋值,只能将它们的值赋给其余的变量。
枚举是 C 言语中的一种基本数据类型,它可以让数据更繁复,更易读。
枚举类型enum用法c言语switch的用法是什么
1、在C言语中,枚举类型(enum)准许开发者定义一组命名的常数。
这些常数称为枚举常量,它们独特导致了枚举类型。
枚举类型是一种自定义的数据类型,它使得代码愈加可读和易于了解,尤其是当须要一组关系的常量时。
2、枚举类型的申明格局如下: ```c enum EnumName { EnumValue1, EnumValue2, // ... }; ``` 这里,`EnumName` 是枚举类型的称号,它之后跟着一对花括号,括号内是枚举值,用逗号分隔。
每个枚举值都是该类型的一个实例。
3、C言语中的 `switch` 语句是一种多分支选用结构,它准许基于不同的状况口头不同的代码块。
`switch` 语句经常使用枚举类型作为条件时,可以审核多个或者的枚举值,并提供相应的口头门路。
这使得解决枚举类型十分繁难,尤其是在须要依据不同的枚举值口头不同操作时。
4、经常使用 `switch` 语句 with 枚举类型的上班方式是: ```c enum Color { RED, GREEN, BLUE }; int main() { enum Color c = RED; switch (c) { case RED: printf(白色\n); break; case GREEN: printf(绿色\n); break; case BLUE: printf(蓝色\n); break; } return 0; } ``` 在这个例子中,依据变量 `c` 的值(RED, GREEN, 或 BLUE),`switch` 语句会口头与之对应的 `case` 块,并经常使用 `break` 语句防止口头后续的 `case` 块。