收录日期:2019/04/26 10:16:38 时间: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页。

急需要解决的问题 PHP如何连接远程数据库? 00 关于TVCLZip 多个卷标的问题 vb 里rs.open返回值?怎么知道对数据库操作是否成功?并显示纪录条数 rfc 3022 里面的差值计算检验和的参数详细信息是什么? 这条语句那里错误了? 用java求素数的一个问题,高手请指教! 急````帮帮忙```联动菜单的增删改查不知道怎么实现 用ip可以访问A机,但是用机器名就不行. 不能删除有内容的文件夹 DB2-执行UPDATE语句出现死锁,求助 这算是CSDN的BUG么????进~~ 求教一个C题目请各位大虾帮帮忙 PHP SMARTY 双循环(递归)输出分类 问题 求教一个C题目请各位大虾帮帮忙 关于 全文检索 ftp 或是搜索引擎 能给出思路就行 分全给了 谢谢 请问下js在eval的时候出错了(json),怎么办? JAVA 连接数据库问题 请高手指点 请问要显示一幅1500×8000的真彩BMP图到view里面,IPicture的Render和GDI的StretchDIBits两种方法,哪种效率会高一些? VC6.0 LIstBox删除其中一项,删除重新运行该项又再出现 程序员是一盏省油的灯 EXCEL 中数据如何自动判断显示 有关下拉菜单和母版的问题!!! 在Linux下用tcp协议,当client端在server端的write函数后退出时,即server发送的数据没有被接收,那么server也会退出,怎样让server不退出? 加入最牛 国人XMPP 关于一条IF语句的问题 关于录象保存的问题 求解内存 combox问题