联合体位域在keil c遇到的问题怎样解决?
因为我想让一个字节对应多个位,所以最近在网上查了一些关于联合体定义位域的资料,但是我放到keil的编译环境里运行,查看变量时得出它并不是一位,而是一个字节的变量,麻烦有高手可以解释一下原因吗,附上一个简单的测试程序:查看uBit.sBit.b0结果是一字节的,假如定义改成"unsigned b0:1;",结果变量就成了两个字节的整形变量
union unionBit
{
unsigned char unionBitTemp;
struct
{
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
}sBit;
}uBit;
void main(void)
{
uBit.sBit.b0=1;
while(1);
}
2个回答
** FATAL ERROR L210: I/O ERROR ON INPUT FILE:
** FATAL ERROR L210:在输入文件里的io口错误
EXCEPTION 0021H: PATH OR FILE NOT FOUND
EXCEPTION 0021H:路径或者文件不存在
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
gogose这位兄弟是什么意思,看不懂,可以说清楚点吗,这段程序没包含什么文件,我编译可以通过并且可以运行
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
精华知识