#include
#include
#define BUFFERSIZE 120
unsigned char *p;
struct str1_t
{
unsigned char c;
unsigned short s;
unsigned int i;
unsigned long l;
}str1;
struct str2_t
{
unsigned short s;
unsigned int i;
unsigned char c;
}str2;
struct str3_t
{
unsigned char ac[3];
unsigned short s;
}str3;
struct str4_t
{
unsigned char c1[1];
unsigned char c2[2];
unsigned char c3[3];
unsigned char c4[5];
}str4;
int main()
{
int in,i,len;
in = 0x12345678;
p = (unsigned char *)∈
len = sizeof(in);
printf("int size:%d\r\n", len);
for(i=0; i
printf("%2X ", *(p+i));
printf("\r\n\r\n");
str1.c = 0x12;
str1.s = 0x34;
str1.i = 0x56;
str1.l = 0x78;
p = (unsigned char *)&str1;
len = sizeof(str1);
printf("str1 size:%d\r\n", len);
for(i=0; i
printf("%2X ", *(p+i));
printf("\r\n\r\n");
str2.s = 0x12;
str2.i = 0x34;
str2.c = 0x56;
p = (unsigned char *)&str2;
len = sizeof(str2);
printf("str2 size:%d\r\n", len);
for(i=0; i
printf("%2X ", *(p+i));
printf("\r\n\r\n");
str3.ac[0] = 0x12;
str3.ac[1] = 0x34;
str3.ac[2] = 0x56;
str3.s = 0x78;
p = (unsigned char *)&str3;
len = sizeof(str3);
printf("str3 size:%d\r\n", len);
for(i=0; i
printf("%2X ", *(p+i));
printf("\r\n\r\n");
str4.c1[0] = 0x1;
str4.c2[0] = 0x2;
str4.c2[1] = 0x3;
str4.c3[0] = 0x4;
str4.c3[1] = 0x5;
str4.c3[2] = 0x6;
str4.c4[0] = 0x7;
str4.c4[1] = 0x8;
str4.c4[2] = 0x9;
str4.c4[3] = 0xa;
str4.c4[4] = 0xb;
p = (unsigned char *)&str4;
len = sizeof(str4);
printf("str4 size:%d\r\n", len);
for(i=0; i
printf("%2X ", *(p+i));
printf("\r\n\r\n");
unsigned short s = 0xF1;
unsigned int i2 = 0xF2;
unsigned char c = 0xF3;
unsigned char buffer2[20];//avoid the memery overflow
memset(buffer2, 0 , sizeof(buffer2));
struct str2_t *pstr2;
pstr2 = (struct str2_t *)&s;
printf("%X %X %X\r\n", pstr2->s, pstr2->i, pstr2->c);
return 0;
}