首页 > 其他分享 >祝你成为结构体赛亚人

祝你成为结构体赛亚人

时间:2025-01-12 10:59:01浏览次数:3  
标签:体赛 位段 struct int char 亚人 对齐 结构

文章目录

引言

开文举例
在这里插入图片描述

//匿名结构体类型
struct
{
	char c;
	int i;
	double d;
}s1,s2;
int main()
{
	scanf("%d", s1.i);
	return 0;
}
//匿名结构体类型只能用一次
//链表——结构体的自引用
struct Node
{
	int data;
	struct Node* next;
};//不能struct Node next,因为无法确定大小

结构体成员的对齐现象

offsetof(type,member )计算结构体成员的偏移量

对齐规则

struct S1
{
	char c1;
	char c2;
	int n;
};
struct S2
{
	char c1;
	int n;
	char c2;
	
};
struct S3
{
	double d;
	char c1;
	int n;
};
struct S4
{
	char c1;
	struct S3 s3;
	double d;
};
int main()
{
	printf("%zd ", sizeof(struct S1));
	printf("%zd ", sizeof(struct S2));
	printf("%zd ", sizeof(struct S3));
	printf("%zd", sizeof(struct S4));
	return 0;
}

结果 8 12 16 32
在这里插入图片描述

原因

在这里插入图片描述
让空间小的成员尽量集中在一起

//vs调整默认对齐数
#pragma pack()
#pragma pack(1)

结构体传参

传值调用
传址调用
在这里插入图片描述

结构体位段

位段成员 int/ unsigned int/cahr
成员名后**:数字**
位段的位指的是二进制的位(bit)
节省空间

位段的内存分配

struct A
{
	int _a : 2;
	int _b : 5;
};

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
位段在使用过程中多个成员可能公用一个字节,不能取地址
在这里插入图片描述
但可以进行赋值

标签:体赛,位段,struct,int,char,亚人,对齐,结构
From: https://blog.csdn.net/Giants2024/article/details/145035126

相关文章

  • 【Java】二叉树:数据海洋中灯塔式结构探秘
    二叉树(BinaryTree)是一种基础且重要的树形数据结构,它是数据存储和操作的基础,广泛应用于各种场景,如数据库索引、图像处理、解析表达式等。在各种树形数据结构中,二叉树就像一座灯塔,引导我们在复杂的数据海洋中高效地进行数据处理。在本篇文章中,我们将深入探讨二叉树的基本......
  • 数据结构C语言描述11(图文结合)--二叉搜索树(BST树)的实现(数据采用KV存储形式进行封
    前言这个专栏将会用纯C实现常用的数据结构和简单的算法;有C基础即可跟着学习,代码均可运行;准备考研的也可跟着写,个人感觉,如果时间充裕,手写一遍比看书、刷题管用很多,这也是本人采用纯C语言实现的原因之一;欢迎收藏+关注,本人将会持续更新。文章目录什么是二叉搜索树代码实......
  • 【设计模式与体系结构】结构型模式-外观模式
    引言昨夜见军帖,可汗大点兵,军书十二卷,卷卷有爷名。阿爷无大儿,木兰无长兄,愿为市鞍马,从此替爷征。东市买骏马,西市买鞍鞯,南市买辔头,北市买长鞭。————《木兰诗节选》花木兰替父从军,欲买马、鞍鞯、辔头和长鞭,需要分别去往东市、西市、南市和北市。换言之,花木兰一人就得与四个贸易......
  • 【教程4>第5章>第8节】帧同步后提取帧结构中的数据部分
    本课程学习成果预览 欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.通过峰值定位提取帧结构中的数据3.FPGA实......
  • 时间复杂度和空间复杂度(全解)——数据结构
    目录1--时间复杂度和空间复杂度计算1.什么是时间复杂度和空间复杂度?1.1算法效率1.2时间复杂度的概念1.3空间复杂度的概念1.4复杂度计算在算法的意义2.1如何计算常见算法的时间复杂度?2.2大O的渐进表示法推导大O阶方法:2.3常见时间复杂度计算举例实例1:实例2:实例......
  • iOS 逆向学习 - iOS Application Structure:iOS 应用程序结构
    iOS逆向学习-iOSApplicationStructure:iOS应用程序结构1.什么是IPA文件?IPA的核心组成2.目录详细解析(1)App图标-`AppIcon60x60@2x.png`(2)资源文件-`Assets.car`(3)本地化资源-`Base.lproj`(4)核心文件-`GothamTimes`(可执行文件)(5)配置文件-`Info.plist`(6)签......
  • 家用动感运动单车机械结构设计
    目录摘要IVAbstractV第1章绪论11.1选题的背景与意义11.2动感单车概述31.2.1动感单车的分类41.2.2动感单车连接件的应用51.3动感单车在国内和国外的情况51.4动感单车的设计趋势61.4.1便携化设计61.4.2人性化设计6第2章动感单车总体设计7......
  • 汽车制动检测台机械结构设计
    目录第1章绪论11.1研究该课题的目的和意义11.1.1研究该课题目的11.1.2研究该课题意义11.2制动检测台的国内外的发展方向及研究现状21.2.1平板式制动检测台31.2.2反力滚筒式制动检测台41.2.3发展方向41.3论文主要研究内容及技术途径51.3.1课......
  • [数据结构学习笔记11] 前序树(Trie/Prefix tree)
    前序树(Trie/Prefixtree),它的一个典型的应用场景在搜索引擎里,当你输入查询关键字的时候,会联想自动补齐你想要输入的内容。比如,你输入app,下面可能会出来联想Apple,Applied等等。什么是Trie?Trie(读作Try)是这样一个数据结构,它把短语或者单词分解字母,然后以一种方式去存储,让添加、删......
  • 数据结构:栈(Stack)和队列(Queue)
    目录......