结构体所占字节数的计算
来源:互联网 发布:淘宝网飞利浦电视 编辑:程序博客网 时间:2024/04/26 16:38
- 结构体所占字节数遵循以下原则:
- 1、 结构体的大小等于结构体内最大成员大小的整数倍
2、 结构体内的成员的首地址相对于结构体首地址的偏移量是其类型大小的整数倍,比如说double型成员相对于结构体的首地址的地址偏移量应该是8的倍数。
3、 为了满足规则1和2编译器会在结构体成员之后进行字节填充!
如题class
A
{
int
a;
short
b;
int
c;
char
d;
};
class
B
{
double
a;
short
b;
int
c;
char
d;
};
A中,a占4个字节,b本应占2个字节,但由于c占4个字节,c的首地址便宜量为6并不是4的倍数,所以为了满足条件2,b多占用2个字节,为了满足条件1,d占用4个字节,一共16个字节。
B中,a占8个字节,b占2个字节,但由于c占4个字节,为了满足条件2,b多占用2个字节,即abc共占用8+4+4=16个字节,为了满足条件1,d将占用8个字节,一共24个字节。
0 0
- 结构体所占字节数的计算
- C++ 结构体所占字节数
- 扫描行所占的字节数计算公式
- 结构体在内存中所占字节大小计算
- 结构体在内存中所占字节大小计算
- JS计算字符串所占字节数
- 正确计算文本所占字节数
- JS计算字符串所占字节数
- JS计算字符串所占字节数
- C语言 - 结构体所占字节数
- 计算机类所占的字节数
- 判断字符串所占的字节数
- 结构体所占内存字节
- 如何正确计算文本所占字节数
- 如何计算对象或者类型所占的内存字节数(各种总结)
- 如何计算对象或者类型所占的内存字节数
- 如何计算对象或者类型所占的内存字节数(各种总结)
- 数据类型所占字节数
- hdu1021——Fibonacci Again
- 密码学_凯撒是罗马共和国杰出的军事统帅
- H5前端开发笔记(一)
- linux中ubuntu sudo update与upgrade区别
- Oracle set timing on
- 结构体所占字节数的计算
- 设计模式--动态代理(JDK)
- 给js文件传参数
- 郝斌老师数据结构笔记
- 【Rayeager PX2分享】解决px2开发板的usb转串口不可用问题
- log
- java中集合总结(二)
- ios runtime
- iOS客户端的微信支付接入