学习随笔

刷题时遇到一些问题,怕忘,把一些我觉得需要记忆的知识点拿出来分享。

关于C的结构体储存结构---位域.

类似:

源题目:https://www.nowcoder.com/questionTerminal/07adfd96a2364433a6538c9bb0fcda16

#include "pch.h"
#include <iostream>
struct MyStruct
{
    int a : 3;
    int b : 4;
    int c : 5;
    double k;
};
int main()
{
    std::cout << sizeof(MyStruct);
}
输出结果为16,表明该结构体占用16个字节。

题目中a、b、b分别是3bit、4bit、5bit,int类型4个字节总共32位,三个int类型数据公用一个int,使用4个字节;

double类型8个字节。结构体内变量对齐,前边补4个字节,总共4+4+8=16;所以答案是16。

具体关于位域的解释在http://www.cnblogs.com/bigrabbit/archive/2012/09/20/2695543.html

这个解释很清晰。留存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值