联合、枚举、类型别名

数据类型:

  • 已学--整数、实数、字符、字符串、数组、指针、结构
  • 待学--向量(vector)类型:优于数组
  • 非主流的类型--联合(union)、枚举(enum)

一、联合

  • 联合类似于结构,可以容纳多种不同类型的值。
  • 区别:联合每次只能存储这些值中的某一个。
  • 例如:我们要定义一个变量来存放某种密码,我们可以选择是你女朋友的生日、身份证最后4位数字或者你养的宠物的名字等等。使用联合类型是一个不错的选择。

1.联合的基本语法格式

	union mima //使用union关键字 {unsigned long birthday;//使用生日作为密码 unsigned short ssn;// 使用身份证后四位作为密码 char *pet;//使用宠物名字作为密码 	};  //一定要加分号; 

2.创建union类型的变量 

	mima pwd; //创建一个mima联合类型的变量pwd 

3.对成员进行赋值

	//对成员进行赋值pwd.birthday=200000616;//将 200000616 存入 联合的birthday成员里 pwd.ssn=0226;//将 0226 存入 联合的ssn成员里 , 并丢弃(覆盖) birthday成员里的值 pwd.pet="Lili";//将 Lili 存入 联合的pet成员里 ,并丢弃(覆盖) ssn成员里的值  

#include <iostream>int main()
{union mima //使用union关键字 {unsigned long birthday;//使用生日作为密码 unsigned short ssn;// 使用身份证后四位作为密码 char *pet;//使用宠物名字作为密码 	};  //一定要加分号; mima pwd; //创建一个mima联合类型的变量pwd //对成员进行赋值pwd.birthday=200000616;//将 200000616 存入 联合的birthday成员里 std::cout<<pwd.birthday<<"\n";  //200000616pwd.pet="xaoibai";//将 0226 存入 联合的ssn成员里 , 并丢弃(覆盖) birthday成员里的值 std::cout<<pwd.pet<<"\n"; //xaoibaistd::cout<<pwd.birthday<<"\n"; //4710402:xaoibai这个字符串的第一个元素的地址 (字符串的首地址) return 0;} 



二、枚举

1.枚举类型的基本语法格式

//定义枚举类型 
enum weekdays{ Monday, Tuesday,Wednesday, Thursday, Friday};//注意:这里不需要使用引号,因为枚举值不是字符串 

2.创建枚举enum类型的变量

	//创建枚举类型weekdays的变量 weekdays today;

3.对成员进行赋值

	//对枚举类型的变量today赋值 today=Monday; //值只能w为定义好的枚举类型std::cout<<today<<"\n"; //0   编辑器会按照各个枚举值在定义时出现的先后顺序把他们与0~n-1的整数关联起来(n是枚举值的总总个数)today=Tuesday;std::cout<<today<<"\n"; //1

4.使用枚举类型的连个好处: 

  • 它们对变量的可取值加以限制
  • 它们可以用作switch条件的case标号。(因为字符串是不能作为标号用的)
#include<iostream>int main()
{//定义枚举类型 enum weekdays{ Monday, Tuesday,Wednesday, Thursday, Friday};//注意:这里不需要使用引号,因为枚举值不是字符串 //创建枚举类型weekdays的变量 weekdays today;//对枚举类型的变量today赋值 today=Monday; //值只能w为定义好的枚举类型
//	std::cout<<today<<"\n"; //0   编辑器会按照各个枚举值在定义时出现的先后顺序把他们与0~n-1的整数关联起来(n是枚举值的总总个数)today=Tuesday;
//	std::cout<<today<<"\n"; //1switch(today){case Tuesday:std::cout<<"今天不是星期一";} } 



三、类型别名

  • Typedef 保留字,使用它可以为一个类型定义创建一个别名。
  • 例如,我们不喜欢使用 int* 来创建指针,可以像下边这样定义一个类型别名:
typedef int* intPointer;

                                        (这样,intPointer 就等于 int*)

在此之后,我们就可以像下面这样来定义整型指针了:

 intPointer myPointer;


未完待续。。。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/75716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

form+ffmpeg+opus录音压缩音频

说明&#xff1a; formffmpegopus录音压缩音频 效果图&#xff1a; step1:opus格式录音 C:\Users\wangrusheng\RiderProjects\WinFormsApp11\WinFormsApp11\Form1.cs using System; using System.Diagnostics; using System.IO; using System.Windows.Forms;namespace WinFo…

软件工程面试题(三十)

将ISO8859-1字符串转成GB2312编码&#xff0c;语句为&#xff1f; String snew String(text.getBytes(“iso8859-1”),”gb2312”). 说出你用过的J2EE标准的WEB框架和他们之间的比较&#xff1f; 答&#xff1a;用过的J2EE标准主要有&#xff1a;JSP&Servlet、JDBC、JNDI…

每日一题(小白)分析娱乐篇10

由题知计算阶乘之和&#xff0c;我们可以用for循环计算每一次的值把总和放在BigInteger然后进行判断。但是这样明显过于麻烦&#xff0c;我们可以利用数学的本质去思考这个问题&#xff0c;以0结尾的数字乘以一个数字必定为0&#xff0c;阶乘之中必定有2和5结尾的数字相乘得0&a…

【51单片机】2-3【I/O口】震动传感器控制LED灯

1.硬件 51最小系统LED灯模块震动传感器模块 2.软件 #include "reg52.h"sbit led1 P3^7;//根据原理图&#xff08;电路图&#xff09;&#xff0c;设备变量led1指向P3组IO口的第7口 sbit vibrate P3^3;//震动传感器DO接P3.3口void Delay2000ms() //11.0592MHz {…

Linux网络状态监控利器:netstat与ping命令详解

网络状态监控利器&#xff1a;netstat与ping命令详解 在Linux系统的网络管理中&#xff0c;实时监控网络状态是确保系统稳定运行的关键环节。netstat和ping作为两个常用的网络监控工具&#xff0c;分别提供了详细的网络状态信息和网络连通性检测功能。本文将全面解析这两个命令…

【spring cloud Netflix】Eureka注册中心

1.概念 Eureka就好比是滴滴&#xff0c;负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务&#xff0c;而是把自己的 需求告诉Eureka&#xff0c;然后Eureka会把符合你需求的服务告诉你。同时&#xff0c;服务提供方与Eureka之间通过“心跳” 机制进行监控&#xf…

Linux中C++ gdb调试命令

编译可执行文件需要带上-g选项参数 输入回车则重复执行上一次命令&#xff1b; 进入gdb&#xff1a; gdb 程序名运行gdb命令&#xff1a; r打断点命令&#xff1a; b 行号查看断点命令&#xff1a; i b打印变量命令&#xff1a; p 变量名持续查看变量命令&#xff1a; d…

【进收藏夹吃灰】机器学习学习指南

博客标题URL【机器学习】线性回归&#xff08;506字&#xff09;https://blog.csdn.net/from__2025_03_16/article/details/146303423

【通信观察家】2025年Q1通信业技术跃迁与生态重构:AI+低空经济双轮驱动

一、行业动态与投资热点 1. 算力投资加速 1) 腾讯2024年财报显示&#xff0c;AI相关资本开支同比增长221.27%&#xff0c;2025年计划继续加码AI原生应用研发及算力基础设施建设&#xff0c;其自研混元T1模型(Hybrid-Mamba-Transformer架构)已上线并开放云服务。 2) 中国移动和…

基于 Vue + Django + MySQL 实现个人博客/CMS系统

目录 1. 环境搭建与项目初始化 后端 (Django) 2. 数据库模型设计 用户认证模型 (Django Auth) 文章模型 (models.py) 全文索引优化 3. 后端API开发 (Django REST Framework) 用户注册/登录 文章发布与搜索 4. 前端实现 (Vue 3) 项目初始化 核心功能实现 5. 访问统…

从全球首发到独家量产,远峰科技持续领跑数字钥匙赛道

数字车钥匙「新纪元」即将开启&#xff0c;星闪数字钥匙正式进入量产周期。 随着汽车智能化快速普及&#xff0c;数字钥匙的搭载量正在快速提升。根据高工智能汽车研究院的数据&#xff0c;2024年中国市场乘用车前装标配搭载数字钥匙的新车交付量超过1000万辆&#xff0c;同比…

C#高级:利用LINQ进行实体列表的集合运算

问题引入&#xff1a; Teacher实体的唯一标识符是Name和Classes字段&#xff08;或者说这两个字段唯一确定一条数据&#xff09;&#xff0c;如何对两个实体列表做交集、差集运算呢&#xff1f;&#xff08;并集直接调用AddRange方法即可&#xff09; 一、重写方法实现 1.原…

C++\MFC锁lock从专家到小白

C mutex # include <mutex> std::mutex m_lock; void CMainWnd::function() {std::lock_guard<std::mutex> lock(m_lock);... }仅限同一进程内。阻塞等待&#xff1a;当线程 A 持有锁时&#xff0c;线程 B 尝试获取同一互斥锁时&#xff0c;会进入阻塞状态&#x…

COBOL语言的数据库交互

COBOL语言的数据库交互 引言 随着信息技术的不断发展&#xff0c;数据库管理系统&#xff08;DBMS&#xff09;已经成为现代应用程序中不可或缺的组成部分。在众多编程语言中&#xff0c;COBOL&#xff08;Common Business-Oriented Language&#xff09;以其在商业应用中的稳…

黑马点评_知识点

将手机验证码保存到HttpSession中进行验证&#xff08;感觉已经过时&#xff09; Controller中的参数有HttpSession&#xff0c;存验证码session.setAttribute(SystemConstants.VERIFY_CODE, code); 其他的都是逻辑代码 Cookie的缺点 什么是Session集群共享问题&#xff1f; …

CSS语言的硬件驱动

CSS语言的硬件驱动探讨 引言 随着信息技术的迅猛发展&#xff0c;硬件和软件之间的交互愈发复杂&#xff0c;特别是在嵌入式系统、物联网设备等领域&#xff0c;硬件驱动程序的开发变得至关重要。而在众多编程语言中&#xff0c;CSS&#xff08;层叠样式表&#xff09;作为一…

K8s中CPU和Memory的资源管理

资源类型 在 Kubernetes 中&#xff0c;Pod 作为最小的原子调度单位&#xff0c;所有跟调度和资源管理相关的属性都属于 Pod。其中最常用的资源就是 CPU 和 Memory。 CPU 资源 在 Kubernetes 中&#xff0c;一个 CPU 等于 1 个物理 CPU 核或者一个虚拟核&#xff0c;取决于节…

解锁 DeepSeek 与 Matlab:攻克科研难题的技术利刃

技术点目录 第一章、MATLAB 2024b深度学习工具箱新特性简介第二章、卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;第三章、模型可解释性与特征可视化Model Explanation and Feature Visualization第四章、迁移学习算法&#xff08;Transfer Learning…

蓝桥杯_PCF8591

目录 一 前言 二 引言 三 PCF8591介绍 &#xff08;1&#xff09;I2C通信 &#xff08;2&#xff09;原理图中的8591 四 代码层面 &#xff08;1&#xff09;根据题目所给的示范代码&#xff0c;实现ADC 1 为什么需要返回值&#xff0c;同时返回值是unsigned char&#x…

Dify案例-接入飞书云文档实现需求质量评估

dify接入飞书云文档实现需求质量评估 1. 背景与目标2. 系统架构与流程2.1 整体架构图2.2 核心流程2.3 dify工作流概览 3. 实现细节3.1 文档提取3.2 需求评估3.3 参数提取3.4 创建飞书云文档 4. 难点总结4.1 提示词编写4.2 关联飞书云文档4.2.1 安装飞书云文档插件并关联到飞书自…