C/C++学习(3)#pragma pack(4) vs. #pragma pack(8)
来源:互联网 发布:tp5框架架构源码下载 编辑:程序博客网 时间:2024/05/17 21:35
链接:https://www.nowcoder.com/questionTerminal/e2ef573a02bd46659fd683a805284c80来源:牛客网struct One{ double d; char c; int i;}struct Two{ char c; double d; int i;}
在#pragma pack(4)和#pragma pack(8)的情况下,结构体的大小分别是
16 24,16 24
16 20,16 20
16 16,16 24
16 16,24 24
题目解析:
来源:牛客网
(实际占位用下划线表示,补位没有下划线)
#pragma pack(4)时:
One的大小:
口口口口 d
口口口口 d
口口口口 c (补3位对齐)
口口口口 i
共:4+4+4+4 = 16;
Two的大小:
口口口口 c (补3位对齐)
口口口口 d
口 口口口 d
口口口口 i
共:4+4+4+4 = 16;
================================
#pragma pack(8)时:
One的大小:
口口口口 口口口口 d
口 口口口 口口口口 c占1位,i紧挨着占4位,再补3位对齐
共:8+8 = 16;
Two的大小:
口口口口口口口口 c(补7位对齐)
口口口口 口口口口 d
口 口口口口口口口 i (补4位对齐)
共:8+8+8 = 24;
选C
0 0
- C/C++学习(3)#pragma pack(4) vs. #pragma pack(8)
- C++:#pragma pack(1)
- C++#pragma pack指令
- C语言中的#pragma pack()
- (C)字节对齐#pragma pack()
- C语言之#pragma pack或者__packed学习
- c/c++基础(十八) #pragma pack
- #pragma pack(整理)
- #pragma pack
- #pragma pack
- #pragma pack
- #pragma pack
- pragma pack
- #pragma pack
- #pragma pack
- #pragma pack
- #pragma pack
- #pragma pack()
- 设置属性值-Thymeleaf常见用法(三)
- 安装MongoDB部分记录
- css笔记
- python pymongo 经纬度坐标距离计算
- 处理Glide刷新出现闪烁
- C/C++学习(3)#pragma pack(4) vs. #pragma pack(8)
- 大数乘法
- 环信接入java后台注册IM用户
- C/C++内存管理详解
- android_weex页面跳转白屏的问题
- Charles抓取https请求详解
- 文件与目录管理
- 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet
- QSerialPort处理串口通信简单示例