串口数据传输当中的共用体和结构体转换
扫描二维码
随时随地手机看文章
typedef union
{
float f;
unsigned char s[4];
}Union_test;
f的4个字节和s[4]的4个字节是共用一个区域,如果我们令f=231.5,然后通过VS的监视窗查看s[4]的数值,下面是测试程序:
#include
//共用体
//float f;//4个字节
//char s[4];//4个字节
typedef union
{
float f;
unsigned char s[4];
}Union_test;
typedef struct st
{
float f1;
}Struct_test;
void main(void)
{
float a=231.5;
Union_test x;
Struct_test z;
x.f = a;
z = *(Struct_test *)(