首页 > 系统相关 >结构体内存对齐

结构体内存对齐

时间:2023-08-25 18:01:17浏览次数:36  
标签:整数倍 默认 嵌套 对齐 成员 体内 结构

规则:

1.第一个成员在与结构体变量偏移量为0的地址处。

2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。

对齐数=编译器默认的一个对齐数与该成员大小的较小值。

vs中默认的值为8

Linux中没有默认对齐数,对齐数就是成员自身的大小

3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。

4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。



注:#pragma pack(n)//设置默认对齐数为n

#pragma pack()//取消设置的默认对齐数,还原为默认、


以上就是结构体内存对齐的基本规则,欢迎指正~

标签:整数倍,默认,嵌套,对齐,成员,体内,结构
From: https://blog.51cto.com/u_16210399/7233760

相关文章

  • Java的三大结构
    三大结构顺序结构依次按照顺序输入和输出选择结果if选择结构单选择结构双选择结构多选择结构 注意事项if语句中只能有1个else语句else语句在elseif语句之后,if语法在elseif语法之前一旦有一个elseif语句检测为true,其他的语句则将跳过,程序结束嵌套结......
  • 改革企业治理结构,建立国有企业全面预算管理制度
    随着我国市场经济的推广,国有企业进入到改革发展的必经之路上,企业应当结合自身实际情况加强成本管控,提高管理效率,为企业的发展提供有力保障。近年来,全面预算管理的理念在国有企业实施范围内不断扩大,加强全面预算管理体系的建设是完善企业治理结构的有效手段。全面预算管理作为一种管......
  • Spring框架源码结构
    骑士李四记录:Spring源码解析Spring是一款用于简化企业级Java应用开发的分层开源框架,它有着强大的扩展、融合能力,善于将各种单层框架完美地糅合在一起,并建立一个完整体系,统一、高效地构造可提供企业级服务的应用系统。Spring主要分为8大模块:数据处理模块(DataAccess/Integration)、......
  • 2.格式化输入输出&&分支结构
    2.格式化输入输出&&分支结构™一.格式化输入输出注意:使用printf()时要添加头文件#include《cstdio》1.输出格式:printf("%类型",值);#include<iostream>#include<cstdio>usingnamespacestd;intmain(){printf("%d",66);printf("哈哈哈");......
  • 2.格式化输入输出&&分支结构
    2.格式化输入输出&&分支结构一、格式化输入输出注意:使用printf()时需要添加头文件#include《cstdio》。1.输出格式:printf("%类型",值);#include<iostream>#include<cstdio>usingnamespacestd;intmain(){printf("%d",666);printf("哈哈哈");return......
  • 2.格式化输入输出&&分支结构
    2.2.格式化输入输出&&分支结构一、格式化输入输出注意:使用printf()时需要添加头文件#include《cstdio》。1.输出格式:printf("%类型",值);#include<iostream>#include<cstdio>usingnamespacestd;intmain(){ printf("%d",66); printf("哈哈哈"); ret......
  • Learn Git in 30 days——第 06 天:解析 Git 资料结构 - 物件结构
    写的非常好的一个Git系列文章,强烈推荐原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn在Git的资料结构中,「物件」是一种「不可变的」(immutable)文件类型,所有储存在「物件储存区」的文件通常只进不出,也不会被修改内容。原因在于,如果你窜改......
  • 向量数据库(第 2 部分):了解其内部结构
    这是关于向量数据库的系列文章中的第二篇。正如本系列的第一篇所提到的,2023年上半年关于向量数据库的营销(不幸的是,有些是炒作)非常多,如果你正在阅读这篇文章,你可能对向量数据库在底层是如何工作的,以及如何在高效的向量存储之上构建搜索功能感兴趣。为什么现在大家都在谈论向量数据库......
  • 数据结构的分类
    数据结构分为逻辑结构和存储结构(物理结构)逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构。数据的逻辑结构......
  • Java流程控制if选择结构
    if选择结构单选择结构:编程中很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程用if语句来表示,语法:if(布尔表达式){//如果条件成立,将执行的语句}例:packageshuct;importjava.util.Scanner;publicclassIfDemo01{publicstaticvoidmain(Str......