当前位置: 首页 > news >正文

(C语言)自定义类型,枚举与联合

问:

1. 结构体在自引用的时候不能怎么样?可以怎么样?

2. Solve the problems:自定义一个学生结构体类型,要包含姓名,性别,年龄,六科成绩,家乡(也为结构体,包含家乡名称,家乡邮编,家乡简介,家乡历史)?

3. 结构体成员的对齐数就是什么与什么的什么?除什么外,每个成员的什么的什么就是什么?结构体的总大小,也就是什么?是所有成员什么的什么的什么?如果结构体成员是什么?就怎么理解?如果结构体成员也是什么?那么它的什么怎么算?

4. Solve the problems:想计算一下之前创建的学生结构体内存消耗是多少字节?

5. 结构体内存对齐本质上是一种什么做法?

6. 有一个宏叫什么可以验证结构体内存对齐?它计算什么的什么?两个参数是什么?

7. 设计结构体的时候要怎么样?

8. 结构体传参要传什么?

9. 位段也称为什么?其实还是什么?什么一模一样?好处在于什么?

10. 位段的成员类型必须是什么?并且都是怎么样的?每个成员后面的什么表示什么呢?有时会有什么发生?

11. 画图说明位段的内存分配是怎么样的?

12. 位段本来就是来怎么样的?因此与什么无关?

13. Solve the problems:Jeff不相信位段的存在,怎么样来证明位段的存在?

14. 枚举的关键字是什么?而联合体呢?

15. 什么和什么的什么,什么的什么都是与什么怎么样?

16. 联合体的特点是什么?意味着什么与什么?

17. 联合体大小计算需要先找出什么与什么?对于什么而言,什么就是什么?联合体大小应怎么样?最后还要对齐到什么的什么?

18. 联合体在内存中的存放可以用什么概括?

19. Solve the problems:我想用联合体判断一下当前机器的大小端字节序存储,并且顺便计算一下联合体大小,该怎么办?

20. Solve the problems:如何用联合体把16进制数11223344修改为11223355?


答:

1. 包含与自己类型一样的结构体,包含一个同类型的指针。

2.

//解决方法
struct Home
{char name[5];  char post[6];char introduce[14];int history;
};
struct Stu
{char name[6];char sex[3];int age;float score[6];struct Home place;
};

3. 自身大小,默认对齐数,较小值,第一个成员,对齐数,整数倍,起点偏移量,所占字节个数,对齐数,最大值,整数倍,数组,把数组元素看成一个个相同的成员,结构体,起点偏移量,自己成员对齐数的最大值的整数倍。

4. 72。

5. 拿空间换取时间。

6. offsetof,结构体成员,起始偏移量,结构体类型,结构体成员。

7. 尽量让占用空间小的成员集中在一起。

8. 结构体指针。

9. 位段式的结构体,结构体,作用与功能,节省空间。

10. 整型家族,同类型的,冒号与数字,该成员只占用这么多比特位,截断。

11.

12. 节省空间,结构体内存对齐。

13. 可以自己去调试内存里面验证。

14. enum,union。

15. 联合体,联合体变量,创建,联合体成员,访问,结构体,高度雷同。

16. 只有一个没水的公厕,我在拉时你不能用,我拉完后屎还是在的。

17. 最大成员的大小,所有成员最大对齐数,数组成员,成员大小,元素大小之和,≥最大成员大小,最大对齐数,整数倍。

18. 同一起点。

19.

//解决方法
union Elon
{int a;char b;
};
int main()
{union Elon x;x.b = 0;x.a = 1;if (x.b == 1){printf("小端\n");}else{printf("大端\n");}printf("%d\n", sizeof(union Elon));return 0;
}

20.

union test
{int a;char b;
};
int main()
{union test m;m.a = 0x11223344;m.b = 0x55;printf("%x\n", m.a);return 0;
}

相关文章:

(C语言)自定义类型,枚举与联合

问:1. 结构体在自引用的时候不能怎么样?可以怎么样?2. Solve the problems:自定义一个学生结构体类型,要包含姓名,性别,年龄,六科成绩,家乡(也为结构体&#…...

node.js服务端笔记文档学会写接口,学习分类:path、包、模块化、fs、express、中间件、jwt、开发模式、cors。

node.js 学习笔记 node.js服务端笔记文档学会写接口,path、包、模块化、fs、express、中间件、JWT、开发模式、cors。 gitee:代码接口笔记 1什么是node.js nodejs 是基于ChromeV8,引擎的一个javaScript 运行环境。node.js 无法使用DOM和BO…...

初始C++(三):引用

文章目录一.引用的概念二.引用的使用1.引用作为输出型参数2. 引用作为函数返回值3.const引用三.引用的一些小问题四.引用和指针五.引用和指针的区别一.引用的概念 引用的作用是给一个已经存在的变量取别名,编译器不会为引用变量开空间,引用变量和被他引…...

【前端】参考C站动态发红包界面,高度还原布局和交互

最近有些小伙伴咨询博主说前端布局好难,其实都是熟能生巧! 模仿C站动态发红包界面,cssdiv实现布局,纯javascript实现交互效果 目录 1、界面效果 2、界面分析 2.1、整体结构 2.2、标题 2.3、表单 2.4、按钮 3、代码实现 3.…...

VR全景带你浪漫“狂飙”情人节,见证甜蜜心动

当情人节遇上VR,足以让情侣过一个难忘的情人节。马上情人节就要到了,大家是不是还在绞尽脑汁的想着,如何和另一半过一个浪漫的情人节呢?老套的剧情已经不能吸引人了,让我们看看VR全景给情人节带来了哪些不同的体验吧&a…...

Linux系统安全之iptables防火墙

目录 一.iptables防火墙基本介绍 二.iptables的四表五链 三.iptables的配置 1.iptables的安装 2.iptables防火墙的配置方法 四.添加、查看、删除规则 1.查看(fliter)表中的所有链 iptables -L 2.使用数字形式(fliter)表所有链 查看输出结果 iptables -nL 3.清空表中所…...

【C#基础】C# 变量与常量的使用

序号系列文章1【C#基础】C# 程序通用结构2【C#基础】C# 基础语法解析3【C#基础】C# 数据类型总结文章目录前言一. 变量(variable)1,变量定义及初始化2,变量的类别3,接收输出变量二. 常量(constant&#xff…...

[ 常用工具篇 ] CobaltStrike(CS神器)基础(一) -- 安装及设置监听器详解

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

Redis集群

Redis集群 本章是基于CentOS7下的Redis集群教程,包括: 单机安装RedisRedis主从Redis分片集群 1.单机安装Redis 首先需要安装Redis所需要的依赖: yum install -y gcc tcl然后将课前资料提供的Redis安装包上传到虚拟机的任意目录&#xff…...

00---C++入门

1. C关键字(C98) C总计63个关键字,C语言32个关键字 2. 命名空间 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进…...

Spring-事务2

文章目录前言一、事务的特性(ACID)二、事务的隔离级别三、spring中的事务平台事务管理器.事务定义ISOLation_XXX:**事务隔离级别.**PROPAGATION_XXX:**事务的传播行为**.事务状态关系:四、使用XML文件配置事务1、 搭建…...

Windows Git Bash 配置

Windows Git Bash 配置 本文参考的文章: 在 Windows 的 Git Bash 中使用包管理器 - iris (ginshio.org)Git bash 安装 pacman & Windows 解压 zst 文件 | 伪斜杠青年 (lckiss.com) 一、Git的安装 Git 的安装应该是都会的,但还是应该说以下&#…...

java代码整合kettle9.3实现读取表中的数据,生成excel文件

java代码整合kettle9.3实现读取表中的数据&#xff0c;生成excel文件 1.简介 本次使用java代码整合kettle9.3版本&#xff0c;数据库使用mysql。 2.jar包导入 项目需要依赖部分kettle中的jar包&#xff0c;请将这部分jar包自行导入maven仓库。 <dependency><groupId…...

分享微信点餐小程序搭建步骤_微信点餐功能怎么做

线下餐饮实体店都开始摸索发展网上订餐服务。最多人选择的是入驻外卖平台&#xff0c;但抽成高&#xff0c;推广还要另买流量等问题&#xff0c;也让不少商家入不敷出。在这种情况下&#xff0c;建立自己的微信订餐小程序&#xff0c;做自己的私域流量是另一种捷径。那么&#…...

4、数组、切片、map、channel

目录一、数组二、切片三、map四、channel五、引用类型一、数组 数组&#xff1a; 数组是块连续的内存空间&#xff0c;在声明的时候必须指定长度&#xff0c;且长度不能改变所以数组在声明的时候就可以把内存空间分配好&#xff0c;并赋上默认值&#xff0c;即完成了初始化数组…...

270 uuid

270 uuid 用途 For the creation of RFC4122 UUIDs 可靠性 10000 星星 适应于浏览器或者服务器 官网链接 https://www.npmjs.com/package/uuid https://github.com/uuidjs/uuid 基本使用 import { v4 as uuidv4 } from uuid; uuidv4(); // ⇨ 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3d…...

2023最新简历模板免费下载

下面分享5个简历模板网站&#xff0c;免费下载&#xff0c;建议收藏&#xff01; 2023用最漂亮的简历模板&#xff0c;让面试官眼前一亮。 1、菜鸟图库 个人简历模板|WORD文档模板免费下载 - 菜鸟图库 菜鸟图库除了有超多设计类素材之外&#xff0c;还有很多办公类素材&#…...

【CSS】元素居中总结-水平居中、垂直居中、水平垂直居中

【CSS】元素居中一、 水平居中1.行内元素水平居中&#xff08;1&#xff09;text-align2.块级元素水平居中2.1 margin&#xff08;1&#xff09;margin2.2布局&#xff08;1&#xff09;flex justify-content&#xff08;推荐&#xff09;&#xff08;2&#xff09; flexmargin…...

spring实现AOP

文章目录前言一、AOP的底层实现原理二、AOP的两种开发模式1.使用xml配置文件1.1 添加AOP依赖1.2 创建UserService1.3创建UserServiceImpl1.4创建通知类1.5 创建applicationContext.xml&#xff08;添加aop约束&#xff09;1.6 测试2.使用注解开发2.1 创建bean.xml文件配置注解方…...

neovim搭建cpp环境

文章目录Windowns下NeoVim搭建cpp环境NeoVim安装插件vim-plugindentLinevim-airlinectagstagbarcoc.vimWindowns下NeoVim搭建cpp环境 在开发过程中习惯在DIE环境中使用vim作为编辑器&#xff0c;在单独的编辑器也常使用gvim图形化编辑器。最近看到NeoVim的特性及兼容性方面不输…...

LiuJuan20260223Zimage助力Dify平台:快速构建企业级AI应用

LiuJuan20260223Zimage助力Dify平台&#xff1a;快速构建企业级AI应用 最近在帮几个朋友的公司搭建内部AI工具时&#xff0c;发现一个挺有意思的现象。很多团队都意识到了AI的潜力&#xff0c;也想用上像LiuJuan20260223Zimage这样强大的图像理解模型&#xff0c;但一提到“部…...

云边端一体化核心技术:数据同步与边缘智能实现

云边端一体化核心技术&#xff1a;数据同步与边缘智能实现&#x1f4da; 本章学习目标&#xff1a;深入理解数据同步与边缘智能实现的核心概念与实践方法&#xff0c;掌握关键技术要点&#xff0c;了解实际应用场景与最佳实践。本文属于《云原生、云边端一体化与算力基建&#…...

yuzu模拟器终极性能优化:突破帧率限制的完整指南

yuzu模拟器终极性能优化&#xff1a;突破帧率限制的完整指南 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 你是否正在为yuzu模拟器的卡顿问题而烦恼&#xff1f;游戏画面不流畅、帧率波动大、操作延迟明显&#…...

vLLM-v0.17.1效果展示:Qwen2-72B在vLLM上实现142 tokens/s实测

vLLM-v0.17.1效果展示&#xff1a;Qwen2-72B在vLLM上实现142 tokens/s实测 1. vLLM框架核心能力 vLLM是一个专为大型语言模型(LLM)优化的高性能推理和服务框架。最新发布的v0.17.1版本在性能上实现了显著提升&#xff0c;特别是在处理像Qwen2-72B这样的超大规模模型时表现尤为…...

NameNode 和 DataNode 无法同时启动

NameNode 和 DataNode 无法同时启动步骤如下。1. 检查配置文件确保 hdfs-site.xml 和 core-site.xml 的配置正确。1.1 hdfs-site.xml检查以下配置&#xff1a;dfs.namenode.name.dir&#xff1a;NameNode 的元数据存储路径。dfs.datanode.data.dir&#xff1a;DataNode 的数据存…...

SiameseAOE模型与智能Agent协同工作流设计

SiameseAOE模型与智能Agent协同工作流设计 最近在折腾一些自动化任务&#xff0c;发现一个挺有意思的问题&#xff1a;很多智能Agent看起来很强大&#xff0c;能聊天、能执行命令&#xff0c;但一旦遇到需要从大段文本里精准提取关键信息的场景&#xff0c;就容易“卡壳”。要…...

AI 辅助开发实战:高效完成自动化专业毕业设计的工程化路径

最近在帮学弟学妹们看自动化专业的毕业设计&#xff0c;发现大家普遍被几个问题困扰&#xff1a;时间紧、任务重&#xff0c;软硬件一结合就出各种玄学问题&#xff0c;算法调参调到怀疑人生。传统的开发方式&#xff0c;从查资料、写代码到调试&#xff0c;周期拉得很长&#…...

SDMatte+模型持续学习:在线增量训练、用户反馈闭环与边缘案例自动标注机制

SDMatte模型持续学习&#xff1a;在线增量训练、用户反馈闭环与边缘案例自动标注机制 1. SDMatte模型概述 SDMatte是一款面向高质量图像抠图场景的AI模型&#xff0c;特别擅长处理复杂边缘和半透明物体的提取任务。相比标准版SDMatte&#xff0c;增强版SDMatte在细节保留和边…...

突破设备限制:如何用Equalizer APO实现专业级音效

突破设备限制&#xff1a;如何用Equalizer APO实现专业级音效 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo 当你花费数千元购买的耳机却无法展现应有的音质&#xff0c;或笔记本内置扬声器播放音乐时…...

春秋云境CVE-2013-2251

1.阅读靶场介绍 这里得到的有用信息是Apache Struts 2.启动靶场 如下所示 3.poc 尝试在路径后构造.action的url 这里我试出来的是 https://eci-2ze7xm2tms3a876w7wv3.cloudeci1.ichunqiu.com:8080/index.action 发现能正常使用 下一步启动天狐工具箱&#xff08;想要的请…...