当前位置:首页 > 内存 > 正文

内存对齐题目(内存对齐规则)

  • 内存
  • 2024-05-07 17:12:42
  • 7381

一、最后一题了,好晕啊,求帮助!只有一个数组对应:struct{inta;charb;}dafaf[1]={10,10};由于内存对齐问题,该结构体总共占用8个字节。内存占用4个字节,因为10b占用1个字节,分配了10。剩余的3个字节保留用于内存对齐。由于这里只定义了一个结构体变量,所以没有使用它。


二、结构体内存对齐问题C中的结构体对齐问题
结构体占用的位数必须是结构体成员中位数最长的数据的整数倍。
结构体占用的位数该结构中的位数是double类型的整数倍。
虽然该结构使用了位域,但对结果没有影响。
inti占4个字节,charj占1个字节,总共8个字节,虽然最后3个字节没用。inta本身占用4个字节,但根据结构来看,它占用8个字节。
Doubleb占用8个字节。总共是8+8+8=24字节

上一篇:内存对齐的好处

下一篇:内存对齐原理