struct date {int i; char ch ; double f;} b;则结构变量中b所占的内存字节数是

[复制链接]
查看11 | 回复4 | 2012-2-16 13:51:39 | 显示全部楼层 |阅读模式
在32位系统下是16分析:CPU会进行位对齐,32位系统下,int点4个字节,char一个字节,double是8个字节 CPU会进行位对齐,按最长的对齐,这里就是8字节对齐。i还是4个字节。为了对齐,ch会占4个字节,这样i和ch正好占8个,和f对齐。...
回复

使用道具 举报

千问 | 2012-2-16 13:51:39 | 显示全部楼层
struct date { int i;
//4字节 char ch ;
//1字节 double f;
//8字节} b;没有别的设置的话 遵从字节对齐 sizeof(b) = 4 + 4 + 8 = 16...
回复

使用道具 举报

千问 | 2012-2-16 13:51:39 | 显示全部楼层
16位内存对齐原则int 4字节 char 2字节 double 8字节14...
回复

使用道具 举报

千问 | 2012-2-16 13:51:39 | 显示全部楼层
16谢谢采纳...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行