struct StUserData
{
unsigned userdata1 : 1; // 0-- 1--
unsigned userdata2 : 2; // 0-- 1-- 2-- 3--
unsigned userdata3 : 3;
unsigned userdata4 : 4;
unsigned normaldata1 : 1;
unsigned normaldata2 : 2;
unsigned normaldata3 : 3;
unsigned normaldata4 : 4;
unsigned otherdata1 : 3;
unsigned otherdata2 : 3;
unsigned otherdata3 : 3;
unsigned otherdata4 : 3;
};
union UnUserData
{
StUserData info;
UINT32 data;
};
int _tmain(int argc, _TCHAR* argv[])
{
UnUserData data;
memset(&(data.info), 0, sizeof(data.info));
data.info.userdata1 = 1;
data.info.userdata2 = 3;
data.info.userdata3 = 5;
data.info.userdata4 = 7;
data.info.normaldata1 = 0;
data.info.normaldata2 = 3;
data.info.normaldata3 = 5;
data.info.normaldata4 = 7;
data.info.otherdata1 = 0;
data.info.otherdata2 = 2;
data.info.otherdata3 = 4;
data.info.otherdata4 = 6;
UnUserData data2;
data2.data = data.data;
return 0;
}
C语言struct和union结合使用,空间最小
最新推荐文章于 2023-01-16 19:04:43 发布