C语言枚举和typedef

 2023-02-28 06:43:07  阅读 0

一、什么是枚举类型

所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值范围内。枚举类型是一种用户自定义的数据类型,其主要用途是用名称来代替某些有特定含义的数据,使之更加直观,增加程序的可读性。

enum 枚举名{枚举值列表};

枚举类型定义后,系统会为每个枚举元素定义一个枚举值,默 认从0开始,后续元素的值依次递增。

也可以根据需要把某个枚举元素的值赋值为指定的整常数,此 时该枚举元素后面的元素的值将接着此整常数递增。

定义了一个枚举类型后,就可以用此类型来定义变量。和结构体、共用体一样,定义的方式也有2种,即间接法和直接法。

二、枚举类型注意事项

引用枚举类型数据时,需要注意以下几点:

①枚举类型和结构体,共用体一样是用户自定义的构造类型。

②枚举值是用户给枚举类型变量所限定的可能的取值。

③枚举值是用户定义的标识符,这些标识符并不自动的代表什么 含义。

④除非作为枚举值,一般不能直接将一个整数赋给枚举变量,但 可以通过强制类型转换来赋值。

接下来我们做一道题来理解枚举类型;

#include<stdio.h>
int main()
{
 enum operation{ plus, minus, times};
 int x,y,i;
 printf("Please input two numbers:");
 scanf("%d%d",&x,&y);
 for(i=plus; i<=times;i++)
 {
  switch(i)
  {
   case plus: printf("%d+%d=%d\n",x,y,x+y);	break;
   case minus: printf("%d-%d=%d\n",x,y,x-y);	break;
   case times: printf(“%d*%d=%d\n”,x,y,x*y);   break;
  }
 }
 return 0;
}

运行结果如下: Please input two numbers: 3  5↙ 3+5=8 3-5=-2 3*5=15

三、typedef定义类型

typedef语句的一般形式如下:

typedef  原类型名  新类型名;

其中,原类型名必须是C语言提供的标准数据类型或用户自定义的数 据类型。

例如, typedef  float  REAL; 定义了float的别名为REAL,

此后可以用REAL来代替float对变量 进行定义。

REAL x, y; 等价于 float x,y;

 

标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码