枚举,联合体,结构体大小计算

2023-11-01

文章目录


前言

关于枚举,联合体,结构体自己的理解,以及大小的计算


提示:以下是本篇文章正文内容,下面案例可供参考

一、枚举类型:(enum)

枚举是一个被命名的整型常数的集合。比如人的性别只有男女之分。

在枚举中第一个枚举成员默认为0;后面的枚举成员都是前面的枚举成员加1得到。

枚举元素不能是变量,得是常数。所以枚举元素也叫枚举常量。不能对枚举元素赋值。

元素类型没有特别声明,默认类型为int。

enum sex
{
    male;
    female;
};

二、结构体:(struct)

结构体是一种数据结构,是C语言中聚合数据类型的一类。结构体可以被声明为变量,指针或数组等,用以实现较复杂的数据结构。结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针。作用:把不同的数据组合成一个整体。

struct std
{
    char* name;
    char* sex;
    int number;
    double score;
};

三、联合体(共用体):(union)

联合体可以将不同类型的变量共占用同一块内存(相互覆盖)。联合体所有成员共用一个地址。对成员赋值会覆盖以前的值。只能使用其中一个成员。

union arr
{
    char a;
    int b ;
}

联合体和结构体的区别:

结构体中各成员有各自的内存空间,一个结构体变量的总长度大于等于各成员长度之和。而在联合体中,各成员共享一段内存空间,一个联合体变量的长度等于各成员中最长的长度。

四、结构体的大小计算

结构体的计算必须满足以下三点:

1.结构体变量的首地址,必须是结构体"最宽基本类型成员"大小的整数倍。

2.结构体每个成员相对于结构体首地址的偏移量都是该成员的整数倍。

3.结构体的总大小,为结构体“最宽基本类型成员”(将嵌套结构体里的基本类型也算基本类型)大小的整数倍。


总结

结构体是我们经常使用的结构我们应熟练掌握。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

枚举,联合体,结构体大小计算 的相关文章

  • 软件工程知识体系

    三个知识体系 知识体系 设计知识体系 开发知识体系 业务知识体系 业务知识体系 是指需要导入管理信息系统的客户所从事行业的业务知识 软件实现的过程是从理解客户业务和相关知识开始的 理解和掌握客户业务知识是理解客户需求和优化客户业务的基础 个
  • 使用vue+echarts绘制图表

    五步绘制echarts图表 目录 五步绘制echarts图表 第一步 main js中添加如下代码 第二步 template中添加如下代码 第三步 methods中写一个绘制折线图的函数 第四步 mounted中调用函数 第五步 css中添
  • python爬取表情包

    效果图 源代码 说明就在注释里 import os import requests from bs4 import BeautifulSoup if not os path exists images os mkdir images hea
  • linux 堆探索

    堆的虚拟地址是连续的 是brk来分配 brk是一个指针指向堆顶的指针 并且是可以复用的 但是只有在堆顶空闲128k时 才收缩 也就是说 为了减少page fault 可重用 开销小的特点 但是会内存碎片 但是分配内存 gt 128k时 就是

随机推荐

  • 【无机纳米材料科研制图——3ds Max 0102】3dmax界面及常用功能说明

    上一篇中 我们以一个核壳纳米粒子的创建 直奔主题 先入为主 开始了3dmax的技术分享 此篇 我们开始从大局上对3dmax的界面和功能区进行一个说明 一 界面分布 界面常用的主要功能区是下图中的五个 当然还有动画视频方面的控制区 暂不介绍
  • Matplotlib 可视化50图:散点图(1)

    导读 本系列将持续更新50个matplotlib可视化示例 主要参考Selva Prabhakaran 在MachineLearning Plus上发布的博文 Python可视化50图 定义 关联图是查看两个事物之间关系的图像 它能够展示出
  • 智能图片降噪-Topaz Photo AI

    今天给各位小伙伴们测试了一款可以使视频智能无损放大的软件 Topaz Photo AI 小编在很早之前也有了解过Topaz系列的软件 都是通过人工智能处理的 对小白新手们很适用 由于使用人工智能方面的软件或程序对硬件要求都比较高 因此不方便
  • 再谈 QtDesigner 可视化连接信号 槽

    在VS20xx Qtx xx 开发模式下 打开ui文件 所用的英文QT Designer工具 没有转到槽函数的功能 不如QtCreator自带的QtDesigner功能齐全 只能Editor已有的信号槽 而在QtCreator中右击某个控件
  • JSP中page指令的import命令具有什么功能呢?

    转自 JSP中page指令的import命令具有什么功能呢 jsp简介 JSP全称是Java Server Pages 是一种动态网页技术 JSP其实就是在html中插入了java代码和JSP标签之后形成的文件 文件名以 jsp结尾 其实J
  • 腾讯会议录屏后,忘记转码或转码不成功的补救方法(含详细图例转码示范)。

    一 问题 腾讯会议录屏后文件只能由腾讯会议识别 其他设备打不开 所以需要用腾讯会议转为MP4格式 通过利用历史会议中操作进行手动转码或者是创建一个新的会议模拟还原设备文件 例如无论是哪一个腾讯会议 只需要将其录屏文件 替换为自己想要转换的文
  • Tomcat源码解析(一)下载源码与导入eclipse

    自从写web程序以来 web程序是如何在Tomcat中运行的一直困惑着我 不知道底层的运行机制是无法真正理解web的 所以就开始研究Tomcat源码 Tomcat是一个轻量级的Java服务器 再结合 How Tomcat works 和网上
  • Python实战项目:为人脸照片添加口罩

    前言 好想玩点不一样的 感觉平常的已经不能吸引大家了 想了又想 我今天给大家分享如何给人像添加口罩吧 毕竟最近疫情那么 严重 也只能玩玩这个了 大家千万别乱跑啊 效果展示 数据集展示 数据集来源 使用了开源数据集FaceMask Celeb
  • webpack打包原理

    作者 好奇男孩 链接 https www jianshu com p 37ff752d0f97 来源 简书 1 webpack核心概念 entry 一个可执行模块或库的入口文件 chunk 多个文件组成的一个代码块 例如把一个可执行模块和它
  • 为什么要做期货反向跟单之风控

    反向跟单来自于28定律 138证券市场本身是一个残酷的市场5098 从散户交易者4957的角度上能够看到大多数的交易者都是亏损的 虽然网上统计数据表明82 的交易者都是亏损的 但是具体实际数据应该远高于82 的亏损数量 向跟单思维模式利用的
  • 微服务中什么是熔断?什么是服务降级?

    开始做微服务项目 先回顾回顾基础概念 原文 https www cnblogs com lingboweifu p 11808307 html 服务熔断的作用类似于我们家用的保险丝 当某服务出现不可用或响应超时的情况时 为了防止整个系统出现
  • 天池热身赛-布匹瑕疵目标检测

    1 检测代码 代码源自datawhale官方提供baseline https github com datawhalechina team learning cv tree master DefectDetection baseline使用
  • QEMU模块模型

    QEMU模块模型 define module init function type static void attribute constructor do qemu init function void register module i
  • 用python代码实现输入基金代码爬取季度报告并获取季报特定模块内容制作动态词云图

    本文涉及爬虫 pdf文件转txt文件 提取指定内容和生成词云图四个部分 文章目录 前言 一 引入库 二 爬取网页上的基金季报 三 pdf转txt文件 四 提取指定内容 五 删除页眉页脚 六 制作词云图 总结 前言 本文将介绍如何爬取网站上的
  • 使用Pysot和MATLAB目标跟踪画对比图,标注框

    使用Pysot和MATLAB目标跟踪画对比图 标注框 python画图点会掉 MATLAB点会涨 具体什么原因 我也不知道 最近也是在画图 搞了很久 翻了很多博客 才弄好 哈哈 在很多博客留下了身影 太多人私聊问我怎么画的 就简单写个教程
  • ESXI安装Mikrotik RouterOS(ROS)软路由部署指南(附授权镜像下载)

    一 什么是RouterOS ROS ROS优点与缺点 RouterOS 简称ROS 是一种路由操作系统 基于Linux开发 兼容x86 PC的路由软件 是目前功能较强 应用较广的软路由系统 适用于中小企事业单位 网吧 宾馆和运营商 通过该软
  • warning The transaction log file is corrupted.

    Remark Even if appealing using compress option has a constraint when preparing the backup as clearly stated by Percona B
  • 实现两个路由器漫游(传统路由器做AP)

    如果您有钱 请买300 个以上的路由器 接上之后进入设置页面会显示选择AP模式 你继续就好了 本文针对TP Link一类没有模式选择的 方法大致两种 一 接WAN口 不同网段 开DHCP 1 修改IP地址为不同网段 比如前端路由器的IP地址
  • 【Blender】贝塞尔曲线图形原理和公式推导

    Blender 贝塞尔曲线图形原理和公式推导 什么是贝塞尔曲线 贝塞尔曲线 英文名Bezier Curve 是计算机图形学非常重要的一种曲线 它可以将若干的点 用一条平滑自然的曲线来连接起来 比如我们在地图库中绘制用户行走轨迹时 如果用折线
  • 枚举,联合体,结构体大小计算

    文章目录 前言 一 枚举类型 二 结构体 三 联合体 四 结构体的计算 总结 前言 关于枚举 联合体 结构体自己的理解 以及大小的计算 提示 以下是本篇文章正文内容 下面案例可供参考 一 枚举类型 enum 枚举是一个被命名的整型常数的集合