Zero_- 2015-10-24 13:37 采纳率: 0%
浏览 1477

C语言字节对齐求解??

#include

#pragma pack(8)
struct TestStruct4
{
char a;
long b;
};
struct TestStruct5
{
char c;
struct TestStruct4 d;
long long e;
};

#pragma pack()

void main()
{
struct TestStruct4 f;
struct TestStruct5 j;
printf("%d\n", sizeof(f));
printf("%d\n", sizeof(j));
}

看了一本书上这个程序的运算结果是8、24,我自己感觉也是8、24,在ubuntu下运行了一下,结果是8、20,难道是编译器的问题??求大侠解释一下

  • 写回答

2条回答 默认 最新

  • oyljerry 2015-10-24 14:17
    关注

    要看一下不同平台的缺省字节对其长度,可能不一样。

    评论

报告相同问题?

悬赏问题

  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置