请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于结构体的问题

// 最后的思考题,结构体7个shor类型的都是2字节大小,总共14字节
// 我修改如下代码,结果是32字节,而不是24字节呢
typedef struct {
        short sSunday;
        int sMonday;
        short sTuesday;
        long  sWednesday;
        short sThursday;
        short sFriday;
        double sSeturday;
    } Week;
   Week w;
   cout << sizeof(w) << endl;

正在回答

1回答

为什么不是32呢。 这里

              short sSunday;int sMonday;8个字节

              short sTuesday;long  sWednesday;8个字节;

             double sSeturday; 8个字节;

             剩下的也只能按8个字节填补;

整个结构体的大小必须是结构体内最大成员大小的倍数;

0 回复 有任何疑惑可以回复我~
  • 提问者 梦还在梦里 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2023-02-22 09:41:45
  • 这个例子我跑了是40,
    long int 是8,long double是16,
    类型字节数是否有误?
    回复 有任何疑惑可以回复我~ 2024-02-21 15:07:50
  • 不好意思,没问题了,我的是64位系统
    回复 有任何疑惑可以回复我~ 2024-02-22 11:40:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信