位域的使用,可以提高位操作效率,避免易错的位操作出现:
看如下栗子:
/*************************************************************************> File Name: bitarea.c> Author: XXDK> Email: v.manstein@qq.com > Created Time: Mon 06 Mar 2017 01:15:15 AM PST************************************************************************/#includestruct bitarea {char a:4;char b:2;char c:2;
};int main()
{struct bitarea opt;int val = 0;opt.a = 0xa;opt.b = 0x3;opt.c = 0x2;val = *(int*)&opt;printf("val = %#x", val);}
这样,我们可以直接对感兴趣的位段进行操作,比起移位更为直观,而且不容易出错。