星象巷 2023-08-19 17:08 采纳率: 50%
浏览 9

C++计算结构体大小问题

#include <iostream>
using namespace std;
#pragma pack(1)
struct node{
    int a : 4;
};
int main() {
    cout << sizeof(node) << endl;
}

输出为1,但是这里位域的类型是int,分配4个字节,所以结果不应该是4吗,其实只要把pack(1)改成pack(4),输出结果就是4了,这是为什么呢?

  • 写回答

2条回答 默认 最新

  • Tech Embedded 2023-08-19 18:37
    关注

    刚刚实际运行了下,都是占用的4个字节

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月19日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题