枚举及其结构的相关知识点
一、枚举
1.枚举是用户定义的一种数据类型,它用关键字enum以以下方式来进行声明;
enum 枚举类型名字 {名字0,名字1…名字n};
2.我们通常所用的是打括号里面的文字,他们本身就代表一种数字,是常量符号,数据类型是int,如:
enum color{red,yellow,blue}; enum color t = red;
就创建了三个常量,其中red = 0;yellow = 1;blue = 2;
并使用enum color数据类型定义了t = red;
3. enum 枚举类型名字 是一种数据类型,如同 int,double 等等;而枚举量就是里面的名字可以作为数字使用;
4. 同时里面的名字可以自己给他们数值,不一定非得让他们按照默认顺序来,其后面没有给数值一次比前面的值大一。
二、结构
1.为什么使用结构
明确数据关系、简化对数据块的操作、简化参数列表、减少维护;
2.定义:
```cpp< struct date//声明1{int year;int month;int day;}p1,p2;p1.p2都是date,也相当于today;struct date//声明2{int year;int month;int day;};
定义;struct date today `
引用:today.year;today.month;today.day;
赋值; today = (struct date){1,2,3};类型强制转换。
这些引用的东西可以直接作为变量使用,与int n中的n没有任何区别>
3.与本地变量一样,在函数内部声明只能在函数内部使用,因此我们通常在函数外部对结构进行声明,使其可以被多个函数使用;
4.其与数组不一样的是,
它可以赋值,例如;p1 = p2。
结构变量名字并不是结构变量的地址,这跟数组是不同的,若要引用地址,则必须使用&符号;
可以使用p->month 来表示p指向结构里面的month,里面的p指的是结构名称的地址,是指针,*p.month = p->month;
5.结构数组 struct date today[100];
struct date today[] = {{1,2,3},{1,2,3}};方括号里面默认是2;
6.镶嵌结构
声明
struct point
{int x;int y;
};
struct rct
{struct point p1;//前面的是数据类型,后面的是结构名称struct point p2;
}struct rct r ;//定义
r = (struct rct)//赋值,类型强制转换
{{1,2},{3,4}
};
枚举及其结构的相关知识点相关推荐
- C语言中结构体、联合(union)、枚举(enum)相关知识点
一.结构 结构是一种由程序员自己设计的数据类型,用于描述一个事物的各项特征数据,由若干个类型不同的基础类型组成 设计: struct 结构类型名 { 类型 成员名1; 类型 成员名2; ... }; ...
- Swift 系统学习 22 分析错误的三个阶段 (枚举和结构体相关)
//: Playground - noun: a place where people can playimport UIKit/** 本节主要内容:* 1.分析错误处理的三个阶段* 2.三个阶段整合 ...
- Linux安装和管理程序的相关知识点
Linux安装和管理程序的相关知识点 一.Linux应用程序基础 1.应用程序与系统命令的关系 2.典型的应用程序结构 3.常见软件包封装类型 二.RPM软件包管理工具 1.RPM包管理工具 2.RP ...
- STM32编程中枚举和结构体的结合
01.结构体定义 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体的定义: ...
- labview csv文件处理_LabVIEW 相关知识点分类汇总
题图照片:Photo by Pixabay from Pexels 为了在知乎和小伙伴们一起更好进行LabVIEW相关知识与技术的讨论,特此制作了本知识点分类汇总供大家参考,分类采用先分块后分层的分而 ...
- html属性 id去重,JS相关知识点总结
一.获取元素方法 1.document.getElementById("元素id号"); 可以使用内置对象document上的getElementById方法来获取页面上设置了id ...
- 三极管相关知识点释疑(一)
最近找工作找的郁闷,感觉走了一条不归路... 主要介绍下三极管相关的知识点,还有一些相关的总结. 1.二极管 介绍三极管之前肯定要先了解下二极管. 1.1 基本结构 PN 结加上管壳和引线,就成为半导 ...
- VSLAM 相关知识点总结
VSLAM 相关知识点 这篇文章是对VSLAM涉及的知识点进行系统性的总结和更新,一些内容来源至VSLAM经典教材,博客,和开源项目(引用材料如下表) SLAM十四讲高博 古月老师的技术博客 崔神的g ...
- NISP一级考试相关知识点
NISP一级不难,你报名交完钱买了那个相关课程之后就刷题就行. 相关知识点: 1.信息:信息就是数据或事件 2.信息安全: 内因:内因方面主要是信息系统复杂性导致漏洞的存在不可避免,换句话说,漏洞是一 ...
最新文章
- 网页设计风格变化的一点共性
- mybatis缓存机制
- Qt基于文本协议的网络应用开发
- 提高 服务器 内存 利用率_怎样提高AI服务器的利用率
- 【译】Angular 开发44条“军规”
- Django从理论到实战(part8)--URL中添加参数
- php获取其他php文件变量值,php 引入其他文件中的变量
- win8配置mysql5.6,win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装
- nacicat for mysql查询_navicat for mysql怎么用
- java 实现内存数据表_数据结构 Java中的内存
- Hello Dojo!(翻译)
- 03 ZooKeeper底层原理剖析与命令实战
- vue非父子组件间传参问题
- AES-128\192\256加密算法及其安全脆弱分析
- 在vue项目中使用 JSON 编辑器: vue-json-editor
- 史上最全高级Java教程总结版(强烈建议收藏)
- MATLAB拟合优度检验
- 黑苹果声音低、有杂音、爆音解决方案
- win8计算机修改密码,win8系统怎么设置开机密码
- easyui php分页,jQuery EasyUI 教程-Pagination(分页)
热门文章
- 问题 c: SOLDIERS
- Conv Nets: A Modular Perspective
- mcc460_MCC(移动国家码)和 MNC(移动网络码)
- Linux如何用查看域名解析
- “个人效率”与“组织效率”
- 计算机信息系统安全保护等级划分准则
- Python:航空公司客户价值分析实战
- java缓存Guava Cache用法介绍
- 基线_XRD、XPS扣基线教程(基于Originlab)
- 基于逻辑回归,支持向量机,朴素贝叶斯以及简单深度学习文本分类方法(BiLSTM、CNN)实现的中文情感分析,含数据集可直接运行