#include <stdio.h>
#define BYTE1 __attribute__((packed, aligned(1)))
typedef struct
{
char a;
char b;
char c;
int d;
int e;
float f;
}BYTE1 Strcut_DTAT;
typedef union
{
Strcut_DTAT data;
unsigned char buff[sizeof(Strcut_DTAT)];
}Union_DATA;
int main () {
Union_DATA tlv_data[3];
tlv_data[0].data.a = 1;
tlv_data[0].data.b = 2;
tlv_data[0].data.c = 9;
tlv_data[0].data.d = 4;
tlv_data[0].data.e = 8;
tlv_data[0].data.f = 6;
printf("Strcut_DTAT len:%d\r\n",sizeof(Strcut_DTAT));
printf("buff:\r\n");
for(char i = 0; i < sizeof(Strcut_DTAT); i++)
{
printf("%d ",tlv_data[0].buff[i]);
}
printf("\r\n");
printf("union len:%d\r\n",sizeof(tlv_data));
return 0;
}