python中的enum,c++枚举类型enum

  python中的enum,c++枚举类型enum

  序

  总结学习编程的经验和个人知识点,仅供学习之用。

  提示:以下是本文的主要内容,主要讨论枚举和类型定义。

  第一,枚举。

  枚举是C语言的基本数据类型,它使得数据简洁易读。

  枚举以下列格式定义:

  枚举名称

  {

  枚举元素1,

  枚举元素2。

  }枚举变量;

  枚举名称是自定义数据类型的名称,枚举变量是枚举名称类型的变量,称为枚举变量。

  枚举变量限制变量值的范围,值的范围在花括号里。枚举名称类型的变量是枚举变量,它智能地获取花括号中的任何值,如果赋给枚举变量的值不在上面的{}列表中,则返回错误或警告。枚举元素也是枚举常数,通常大写。

  例如,如果一周中有7天没有枚举,则将#define定义为一个整数:

  #定义MON 1

  #定义岳2

  #定义wed 3

  #定义THU 4

  #定义星期五5

  #定义SAT 6

  #定义SUN 7

  使用枚举实现相同的功能:

  枚举日

  {

  周一=1,TUE,周三,THU,周五,周六,周日

  (;

  昨天是枚举日;

  今天的枚举日;

  明天是枚举日;//明天变量的类型是enum DAY。

  注意:第一个枚举成员的默认值是整数0,后续枚举成员的值是前一个成员加1。如果第一个枚举成员的值定义为1,则第二个枚举成员的值为2。

  二。数据类型说明

  Typedef是C语言提供的一个关键字,可以用来命名一个新的类型。

  例如:

  类型无符号字符字节;

  定义此类型后,标识符字节可以用作无符号字符类型的缩写。例如,如下所示

  B1,B2;

  习惯上在定义中使用大写字母来提醒用户类型名是符号缩写。

  1.使用:

  定义类型的别名,而不是简单的宏替换。它可以用作同时声明指针类型的多个对象。

  例如:

  char * pa、Pb;//只声明了指向字符变量的指针和字符变量

  //以下是可能的

  类型化通道*通道;//一般是大写的。

  PCHAR pa、Pb;//有可能同时声明了两个只有字符变量的指针。

  //但是

  char *pa,* pb

  //也是可以的,但是相对来说,以typedef的形式使用并不直观。在需要大量指针的地方,尤其是typedef更快。

  2种用途

  使用typedef关键字将枚举或结构定义为别名,并使用别名来声明变量。

  typedef枚举工作日1

  {

  土星,

  孙迪

  安迪,

  邓迪,

  星期三,

  星期四说,

  弗雷迪

  }工作日;//这里的workday是enum Workday1的别名。

  工作日,明天;//今天和明天的变量类型是enumerated workday,即enum Workday1。

  类型标签点

  {

  int x;

  int y;

  }点;

  P1;

  如果没有typedef,只能使用以下定义

  结构点1p1

  3种用途

  在typedef中定义独立于平台的类型。

  例如,定义一个名为REAL的浮点类型来表示目标平台上精度最高的类型:

  类型双精度;

  在不支持长双精度的平台2上,修改以下内容:

  型双实;

  在不支持双精度的平台3上,修改以下内容:

  浮点型实时;

  如果程序是跨平台的,修改typedef本身就够了,不需要修改其他源代码,而且可以减少写代码时不必要的修改。

  4种用途

  为复杂声明定义新的简单别名。

  摘要

  摘要:#define是一个C指令,用来定义各种数据类型的别名。类似于typedef,但有以下区别:

  Typedef仅限于为类型定义符号名称。#define不仅可以为类型定义别名,也可以为数字定义别名。

  Typedef由编译器解释,#define由预编译器处理。

  Typedef一般比**#define**。尤其是有指针的时候,比如:

  typedef char * pStr1

  # define pstr 2 char *;

  pStr1 s1、S2;

  pStr2 s3、S4;

  上述变量中,s1、s2、s3定义为char *,s4定义为char,不是预期的指针变量。因为#define是一个简单的字符串替换,而typedef为类型指定了一个新名称。

  参考资料:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: