枚举与结构体

枚举与结构体

枚举 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. 结构体存在栈中,类在栈中存放的是堆中实例对象的内存地址

原文地址:https://www.cnblogs.com/iNeXTs/p/10029850.html

时间: 2024-10-12 19:23:43

枚举与结构体的相关文章

【C】枚举,以及枚举和结构体的不同

枚举实际意义跟汉语意义没有多少相似的地方,而且容易让人想起穷举. 学完枚举基本就把几个基本的数据类型学完了哈 穷举……呸,枚举和结构体的结构类似 struct stuent { int age; float height; }; enum{ FIR, SCD, THD }; 但不同很多,如下 1,定义结构体是定义一个数据类型,之后,声明的是结构体变量,结构体变量本身只能被赋值于另一个结构体变量,而且两个结构变量必须是同一种结构,但结构变量之内的变量是可以被赋值的.而且结构体变量声明所用的标示符并

Swift学习——A Swift Tour 枚举和结构体

Enumerations and Structures Enumerations   枚举的使用 使用 enum 定义一个枚举,枚举里面可以关联方法,比如下文中的描述方法 enum Rank: Int { case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King func simpleDescription() -> String { switch self { ca

C# 篇基础知识2——运算符、类型转换、流程控制、枚举、结构体和数组、函数

1.运算符.类型转换 计算某年y某月m某日d是周几的基姆拉尔森公式公式:int week = (d + 2*m + 3*(m + 1)/5 + y + y/4 - y/100 + y/400 + 1)%7; 除了算数运算符,C#还提供了大量数学函数,这些数学函数归为一类,称为Math 类,其常用函数如下表所示: 表 1?7 Math类中的常用函数 功能 函数 C#示例 数学表示 结果 乘方 Math.Pow() Math.Pow(2,3) 23 8 开方 Math.Sqrt() Math.Sqr

黑马程序员 C语言-枚举,结构体,指针

一.枚举 ※枚举变量的定义 前面只是定义了枚举类型,接下来就可以利用定义好的枚举类型定义变量. 跟结构体一样,有3种方式定义枚举变量 1.先定义枚举类型,再定义枚举变量 enum Season {spring, summer, autumn, winter}; enum Season s; 2.定义枚举类型的同时定义枚举变量 enum Season {spring, summer, autumn, winter} s; 3.省略枚举名称,直接定义枚举变量 enum {spring, summer

格式化说明符定义、转义字符、枚举、结构体、typedef

1.格式化说明符定义: %i,%d:输出十进制整型数 %6d:输出十进制整型数,至少6个字符宽 %li,%ld:输出长整数 %u:输出无符号整数 %lu:输出无符号长整数(相当于:unsigned long int) %f,%g:输出浮点类型数 %.2f:输出浮点类型数,小数点后有两位小数 %lf:输出双精度浮点数 %o:输出八进制数 %e:以科学计数法,输出浮点数 %c:输出字符 %s:输出字符串 %p,%x:输出变量的内存地址和十六进制数 2.转义字符: \a             响铃符

swift:入门知识之枚举和结构体

枚举: swift中的枚举有些类似于类这个概念,它有自己的属性,也可以有自己的方法 枚举中的成员有原始值和实际值之分,原始值用来枚举成员的排序次序,默认从0开始 枚举出来的成员值就是实际值 可以通过toRaw和fromRaw函数转换原始值和枚举值 也可以使用字符处或浮点数作为枚举的原始值 具体举例如下: //给扑克牌内容声明一个枚举(A.2.3.4.5.6.7.8.9.10.J.Q.K) enum Rank:Int{ case Ace case Two,Three,Four,Five,Six,S

枚举和结构体

使用enum来创建一个枚举.就像类和其他所有命名类型一样,枚举可以包含方法. enum Rank: Int { case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King func simpleDescription() -> String { switch self { case .Ace: return "ace" case .Jack: retur

C++之 自定义数据类型 枚举、结构体、共用体

1.枚举 枚举类型的声明形式为:   enum  枚举类型名   {  变量值列表 };    变量值列表里都是整型变量,另外不要忘记最后面的分号! 比如,enum  weekday   { sun,mon,tue,wed,thu,fri,sat }; 这里的枚举元素sun.mon...都没有指定值,它们就使用默认值,依次为0,1,2....即sun就是0,mon就是1,...sat是6.也可以在声明枚举类型时指定枚举元素的值,比如 enum  weekday  { sun=7, mon=1,

swift篇第三期:类、枚举、结构体

首先我们来创建一个类吧,然后在里面声明属性与方法   class BaseUser {     var userName:String = "swh"     var password:String = "123"          //这里面有一个构造方法,其实就类似我们重写init方法一样,然后可以加些参数     //但是我们在声明该类的时候直接在类名后面接括号就可以了哦     init(username:String, password:String) {