博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内存对齐
阅读量:4224 次
发布时间:2019-05-26

本文共 443 字,大约阅读时间需要 1 分钟。

typedef struct{char flag[3];short value;} sampleStruct;union{char flag[3];short value;} sampleUnion;假设 sizeof(char)=1,sizeof(short)=2,那么sizeof(sampleStruct) = 6 , sizeof(sampleUnion) = 4

字符类型占1字节, 可以从任何地址开始

short类型占2字节, 必须从2字节倍数地址开始

int类型占4字节,必须从4字节倍数地址开

字符型占用1字节,不需要字节对齐 
short占用2字节,需要两字节对齐 
所以
sizeof(sampleStruct) = 3 *(1字节) + (1个补齐字节) + 1*(2字节) = 6 
联合体
占用大小采用成员最大长度的对齐,最大长度是short的2字节
 
char flag[3]需要3个字节
所以 
sizeof(sampleUnion) = 2*(2字节) = 4

转载地址:http://efkqi.baihongyu.com/

你可能感兴趣的文章
一分钟整明白Tensorflow Extended
查看>>
人工智能再次参加高考:和作家比写作文,AI能打多少分?
查看>>
云创冬日紫金山踏雪游记
查看>>
西安思源学院电子信息工程学院院长张卫钢一行到访
查看>>
邀请函|欢迎参加2019云创大数据实验平台金融类/电子商务类/数学统计类院校各省总代理招募大会!...
查看>>
云创大数据的2018年!
查看>>
QNX简介
查看>>
MQTT协议基本介绍
查看>>
进程和线程是操作系统基本概念,了解一下
查看>>
SSL与TLS的区别以及介绍
查看>>
HTTPS、TLS、SSL、HTTP区别和关系
查看>>
Kafka 入门三问
查看>>
c/c++ 内存泄漏检测,开源工具valgrind使用整理
查看>>
h264 sps pps详解
查看>>
AAC的ADTS头信息介绍
查看>>
Coroutine,你究竟干了什么?
查看>>
代码宏的一点小知识
查看>>
Sweet Snippet系列 之 随机选择
查看>>
名人•牛人•我们这些普通人
查看>>
小话游戏脚本(一)
查看>>