收录日期:2018/10/23 13:42:19 时间:2016/05/22 08:22:39 标签:C语言
#include <stdio.h>
void main()
{ struct in
{char name;
 int phone;
  float score;
};
struct in student;
int a=sizeof(struct in);
 int b=sizeof(student.name);
 int c=sizeof(student.phone);
 int d=sizeof(student.score);

 a=a/2;
}
运行结果为:a=12;
b=1;
c=4;
d=4;
请问是怎么一回事,怎么总的是12阿
字节对齐
char name;后面补了3bytes,这是字节对齐搞的鬼
up
4 字节对齐撒

内存里面是这样排的
 name【】【】【】 (后补3个空字节)
 phone (占4个字节)
 score (占4个字节)

结果就是 4×3=12
对,是字节对齐的问题。
格式不好看
给你帖一下:

#include <iostream>
using namespace std;

int main()

struct in {
  char  name;
   int  phone;
     float  score;
  };

  struct in student;

  int a=sizeof(struct in);
   int b=sizeof(student.name);
    int c=sizeof(student.phone);
     int d=sizeof(student.score);

      cout << a << endl
           << b << endl
           << c << endl
           << d << endl
           << endl;
           
       system("PAUSE");
       return 0;
}
字节对齐的问题. 
如果你是说在a=a/2之后a还是12的话,那就要8字节对齐,倒是比较少见. 一般常见的是4字节对齐。你是什么系统?什么编译器?
请问有没有这一方面的资料啊
字节对齐
搜索一下,前面 N 多这样的帖子了
int  phone;

为什么是4????我感觉是2...-_-#...
看《深度探索C++对象模型》第27页。

请大家指点:如何在把统计后的数据合计?(已有统计代码,在线等待) 谁有水晶报表8.5以上中文版本? 请问如何将三个字段的数据进行合并查询? 如何将Calendar类型转换成String型 我的硬盘怎么丢了2G????? 更新dataGrid的问题 zyq_l23 (非典型性雍亲王) 进来 如何默认RadioButton 被选中 WEB服务器OS为WindowsXP,为何用ASP无法对Excel进行读写(Office2000) 这个还有点,不过也不多了 win2000 professional的添加打印机失效? 谁知道在DMP文件中number型字段是如何存储的? 关于ShockWaveFlash控件的问题 类型转换问题(急!!!!) 请高手进来讨论一下JSP分页的最佳方法! 请进!请进! 就这么点分,都仍出去得了 关于上传图片的问题!!!!!!!在线等待!!!!!! olevariant转换 exp问题 有关useBean 的参数问题 如何知道tableupdate()后,有几条记录被更新了,有几个记录新增加,有几条记录删除了,同时知道它们的内容 有谁知道金山写作助理是如何做的吗,我想仿做这个功能,谢谢 我的硬盘丢了2G,请各位高手帮忙找一找!! 还有100多分,留点把 请问在发送消息时,怎么指定发送消息的窗口? 设smartNavEnabled=\"true\"时,DataGrid生成的表格里面的数据放到哪里去了. 向服务器发送请求的问题?? 使用ADO与DataGrid时的数据刷新问题 在Apache/1.3.24 Server 上下载的问题