当前位置: 首页 > 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的特性及兼容性方面不输…...

计算机毕业设计 | SpringBoot+vue学生网上请假系统 高校教务管理系统(附源码+论文+开题报告)

1&#xff0c;绪论 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理学生网上请假系统的相关信息成为…...

NVIDIA cuQuantum 23.10:量子电路模拟GPU加速技术解析

1. 量子电路模拟加速利器&#xff1a;NVIDIA cuQuantum 23.10深度解析量子计算模拟一直是科研和工业界的计算密集型任务。传统CPU在处理超过30个量子比特的电路模拟时&#xff0c;往往会遇到内存和算力的双重瓶颈。NVIDIA cuQuantum的出现彻底改变了这一局面——这个专为量子计…...

AIGC如何重塑软件开发流程:从工具应用到流程再造

1. 项目概述&#xff1a;当开源社区遇上生成式AI最近在GitHub上闲逛&#xff0c;又看到了Phodal&#xff08;左耳朵耗子&#xff09;的新项目aigc。说实话&#xff0c;这个名字本身就充满了想象空间——AIGC&#xff0c;人工智能生成内容&#xff0c;这几乎是过去一年里技术圈最…...

Git代码分支管理模型TBD++ Flow

现代软件开发过程中要实现高效的团队协作,需要使用代码分支管理工具实现代码的共享、追溯、回滚及维护等功能。目前流行的代码管理工具,包括CVS,SVN,Git,Mercurial等。相比CVS和SVN的集中管理,Git具有非常明显的优势,例如:去中心化的代码管理方式减少了开发者对中心服务…...

PHP V6 单商户常见问题——小程序接口申请

小程序接口申请问题现象很多小伙伴微信小程序位置信息申请无法通过&#xff0c;其中注意点为&#xff1a;解决方案1. 开通接口登录微信小程序平台&#xff0c;找到开发管理下的&#xff0c;接口设置&#xff0c;开通wx.getLocation&#xff0c;wx.chooseLocation2. 申请接口理由…...

真空脱泡搅拌机|精密物料混合一体化设备

壹壹真空脱泡搅拌机&#xff1a;工业材料精密混合与脱泡的核心装备 在现代高端制造、新材料研发、电子化工等诸多领域&#xff0c;物料的均匀混合与气泡彻底去除&#xff0c;是决定产品品质、性能与成品率的关键环节。传统搅拌设备往往难以兼顾混合均匀度与气泡去除效果&#x…...

如何分析对象依赖关系_DBA_DEPENDENCIES防止删表导致视图失效

查DBA_DEPENDENCIES需DBA或SELECT_CATALOG_ROLE权限&#xff0c;否则应使用ALL_DEPENDENCIES并注意OWNER和NAME大小写&#xff1b;删表前重点查REFERENCED_TYPE为VIEW等的依赖&#xff0c;而非双向关系&#xff1b;动态SQL、JOB、APEX等隐式引用不会被捕获。查 DBA_DEPENDENCIE…...

避坑指南:在OpenHarmony上玩转Modbus RTU,RS-485接线和libmodbus配置那些事儿

OpenHarmony工业互联实战&#xff1a;RS-485硬件连接与libmodbus配置避坑手册 当温控器的数据突然跳变&#xff0c;当电表读数出现异常抖动&#xff0c;很多工程师的第一反应往往是检查代码逻辑——但真正的陷阱可能藏在那些被忽略的物理细节中。在工业现场&#xff0c;RS-485总…...

GoFile下载器深度解析:告别手动下载的技术实现

GoFile下载器深度解析&#xff1a;告别手动下载的技术实现 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 在当今数字资源共享的时代&#xff0c;我们常常需要从各种云存储…...

AI Agent失败率20%的真相:工程分层才是关键,而非提示词

文章指出AI Agent失败率高的原因并非提示词不佳&#xff0c;而是工程分层没做对。文章提出了三层工程体系&#xff1a;Prompt Engineering&#xff08;与模型沟通&#xff09;、Context Engineering&#xff08;信息流管理&#xff09;和Harness Engineering&#xff08;系统可…...