结构体技巧-对齐--差点儿就是惊天bug-没有pack装不下

本文探讨了不同结构体在C语言中由于内存对齐导致的大小差异。通过三种不同的方式定义了包含相同成员变量的结构体,并展示了如何使用 __packed 和 #pragma pack 控制内存对齐,从而减小结构体的大小。
typedef struct
{
	uint8_t  one;
	uint16_t rx_len;

}TYPE1 ;//sizeof(TYPE1)4

__packed typedef struct
{
	uint8_t  one;
	uint16_t rx_len;

}TYPE2 ;//sizeof(TYPE2)3

#pragma pack(1)
typedef struct {
	uint8_t  one;
	uint16_t rx_len;
}TYPE3;//sizeof(TYPE3)3
#pragma pack()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值