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

结构体位域的有关问题!

2012-02-29 
结构体位域的问题!!typedefstruct{inta:1intb:1intc:1}testvoidmain(){testkk.a1k.b0k.c0print

结构体位域的问题!!
typedef   struct  
{
int   a   :   1;
int   b   :   1;
int   c   :   1;
}   test;

void   main()
{
test   k;
k.a   =   1;
k.b   =   0;
k.c   =   0;

printf( "%d,   %d,   %d\n ",   k.a,   k.b,   k.c);
}

问题1:   为什么在test   k;后,我断点去看了,初始值为   a   =0,   b=0,c=-1,对于c=-1不理解??
问题2:这样输入为什么k.a会是-1呀?想也不想不通....

[解决办法]
因为只有一位,当它设为1以后,等于符号位设为1,符号为1的就是负数啊?所有位为1的都是负数,这是基本规则 啊?

热点排行