首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

进一步问位域的有关问题!

2012-03-06 
进一步问位域的问题!!急急急!!!structdata{unsignedchard1:4unsignedchard2:2unsignedchard3:2unsigned

进一步问位域的问题!!急急急!!!
struct   data
{
unsigned   char   d1:4;
unsigned   char   d2:2;
unsigned   char   d3:2;
unsigned   short   d4;
unsigned   char   d5;

};
........
使用printf( "%d\n ",sizeof(data))时,显示的是6.


struct   data
{
unsigned   char   d1:4;
unsigned   char   d2:2;
unsigned   char   d3:2;
unsigned   char   d5;
unsigned   short   d4;//
};

但是这里使用printf( "%d\n ",sizeof(data))时,显示的是4.

上面一个是按最大的内置类型对齐,即2*3=6
但是后面一个却又是4,不知道为什么这时候不按最大的内置类型对齐啊!

[解决办法]
还问呀。
不是给你说得很清楚了嘛

热点排行