枚举与结构体

Posted inexts

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了枚举与结构体相关的知识,希望对你有一定的参考价值。

枚举与结构体

枚举 enum

枚举的作用是用来增加代码的可读性,限制变量的使用范围。枚举有以下特点:

  1. 一个完整的枚举包括关键字enum、变量名、{}以及枚举值,例如:

enum Fruits{
   Apple,
   Orange,
}
  1. 枚举变量的声明要使用变量名,枚举值的调用也要使用变量名,使用如下:

Fruits apple = Fruits.Apple;
  1. 枚举字面值属于整型,默认是int类型,可以通过在变量名后指定某一值类型,枚举可选的整型包括:byte、sbyte、short、ushort、int、uint、long以及ulong。

enum Fruits:uint{
   Apple,
   Orange,
}

不同的类型限制了枚举值的取值范围,byte的可取值0~255,不能超出这个范围。

  1. 枚举值的默认值为0,往后依次递增加1。也可以在声明时,指定默认值。

enum Fruits{
   Apple = 1
   Orange,
}
  1. 枚举值可以通过?声明为可空类型,接收null,Fruits? apple = null

结构体

结构体的存在和类很像,但又有很大的区别:

  1. 结构体是值类型,类是引用类型

  2. 结构体的声明使用关键字struct,类的声明使用关键字class

  3. 结构体和类都包含一个默认构造函数,但是结构体的默认构造函数不允许自己声明,类的默认构造函数可以进行声明使用

  4. 结构体和类都允许自定义构造函数,进行字段初始化,但结构体的必须对所有的字段进行初始化;类的可以选择性的初始化,剩余的会由系统进行默认的初始化

  5. 结构体的字段在声明时不允许进行初始化,类的字段可以在声明时进行初始化操作

  6. 结构体存在栈中,类在栈中存放的是堆中实例对象的内存地址










以上是关于枚举与结构体的主要内容,如果未能解决你的问题,请参考以下文章

结构体与枚举类型

实验6 结构体共用体与枚举

实验6 结构体共用体与枚举

Swift的闭包,枚举,类和结构体

C语言-枚举共用体

C语言-枚举共用体