结构体大小计算

简介: 目录一、前言 二、结构体的大小计算有以下几条规则:三、个人牛客网


一、前言


 在c语言中,要定义一个复杂对象比如说一个学生,用普通的变量是不可能定义完成的,所以这就有了我们的结构体,结构体就是是用来说明一个复杂对象的,所以结构体大小计算也成了重点。那我们应该怎么去计算结构体的大小呢,下面直接超级详细为你解答。

举例一个结构体:struct st

{

char name;

int age;

double money;

}s;


二、结构体的大小计算有以下几条规则:

1.结构体的第一个成员放在偏移量为0的位置如图:


微信图片_20220104224959.png


2.后面的变量放在对齐数整数倍上(对齐数一般是改成员变量大小如int为4),对齐数是编辑器默认对齐数与成员变量的大小取他们两个的最小值(vs编辑器默认对齐数是8)


微信图片_20220104225037.png


3,结构体最终大小是所有成员最大对齐数的整数倍16是8的整数倍,所以最终大小是16.


注意对于结构体套结构体中也是一样的算,结构体对齐数就是该结构体成员中最大对齐数,总结构体大小为所有成员(包括套的结构体)对齐数的(最小的)整数倍,如结构体所以成员最大对齐数是4,结构体算出来的大小是17,所以最终结果是20。(注意:最终结构体大小>=算出来的结构体大小)如:

struct aa

{ char c;

struct st s;//上面计算过的大小为20

int i;

}d;如图


微信图片_20220104225119.png


计算得到的的大小是32,所有成员最大对齐数是8,32是8的整数倍,故该结构体大小为32.


最后,#pragma pack()可以修改默认对齐数,如#pragma pack(2),修改默认对齐数为2。


image.png


解释:


微信图片_20220104225242.png


三、个人牛客网


以上就是计算结构体的全部内容了,觉得还可以的点个赞,觉得哪里不足的评论区留言。

微信图片_20220104225316.png


祝各位小伙伴们学有所成,早日拿到offer


目录
相关文章
|
算法 程序员 C语言
C/C++原子操作与atomic CAS底层实现原理
假定有两个操作A 和B,如果从执行A 的线程来看,当另一个线程执行B 时,要么将B 全部执行完,要么完全不执行B,那么A 和B 对彼此来说是原子的。
1664 1
C/C++原子操作与atomic CAS底层实现原理
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
278247 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer架构深度解析:重新定义序列建模的革命
Transformer是一种基于自注意力机制的神经网络架构,2017年由Google提出,彻底摒弃了RNN的循环结构,实现并行化处理序列数据。其核心通过QKV机制捕捉长距离依赖,以“圆桌会议”式交互提升效率与性能,成为大模型时代的基石。
|
6月前
|
存储 消息中间件 缓存
现代IM系统中聊天消息的同步和存储方案探讨
本文内容主要涉及IM系统中的消息系统架构,探讨一种适用于大用户量的消息同步以及存储系统的架构实现,能够支持消息系统中的高级特性“多端同步”以及“消息漫游”。在性能和规模上,能够做到全量消息云端存储,百万TPS以及毫秒级延迟的消息同步能力。
371 0
|
9月前
|
人工智能 弹性计算 对象存储
玄晶引擎:基于阿里云生态的全流程AI自动化方案,赋能中小微企业低成本数字化转型
玄晶引擎是阿里云生态原生AI自动化平台,专为中小微企业设计。依托通义千问、ACK、OSS、VectorDB等服务,实现“内容生产—流量分发—精准获客—成交转化”全流程闭环。云原生架构+零代码操作,算力成本降60%,人力节省超60%,3个月可回本。
599 15
|
10月前
|
弹性计算 人工智能 固态存储
阿里云服务器租赁多少钱?最新阿里云服务器租用价格表(轻量服务器/ECS云服务器/GPU云服务器明细报价)
阿里云服务器一年多少钱?目前最新阿里云服务器租用费用价格表,轻量2核2G轻量服务器一年68元,折合5.6元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年(企业专享),2核4G4M轻量服务器298元一年,4核8G服务器955元一年,4核16G10M服务器70元1个月、210元3个月,8核32G服务器160元1个月、480元3个月,整理阿里云服务器租用费用价格表,包括一年优惠价格、一个月和1小时收费明细表:
|
消息中间件 网络协议 算法
UDP 和 TCP 哪个更好?
【8月更文挑战第23天】
1233 0
|
数据采集 存储 Java
多线程Python爬虫:加速大规模学术文献采集
多线程Python爬虫:加速大规模学术文献采集
|
机器学习/深度学习 人工智能 自然语言处理
2025人工智能证书|2025年人工智能行业AI证书如何选择?
在2025年AI浪潮中,生成式AI已成为职场核心竞争力。企业招聘将“AI能力”设为基础门槛,如何选择有价值的AI认证?本文从行业趋势、证书价值、备考策略及职业规划四大维度解析。GAI认证由培生推出,涵盖核心技术与实际应用,结合理论与实践考核,助力职业发展。它不仅评估技术能力,还注重伦理法律等复合技能。备考需分阶段规划,善用官方资源,注重实践。无论转型、深耕还是管理晋升,GAI认证均适合作为起点,抢占AI时代先机。
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术发展与应用实践(一文读懂AIGC)
AIGC(人工智能生成内容)是利用AI技术生成文本、图像、音频、视频等内容的重要领域。其发展历程包括初期探索、应用拓展和深度融合三大阶段,核心技术涵盖数据收集、模型训练、内容生成、质量评估及应用部署。AIGC在内容创作、教育、医疗、游戏、商业等领域广泛应用,未来将向更大规模、多模态融合和个性化方向发展。但同时也面临伦理法律和技术瓶颈等挑战,需在推动技术进步的同时加强规范与监管,以实现健康可持续发展。