#include "stdio.h"
#include "malloc.h"
//#pragma pack (1)
typedef struct mystruct_t
{
int a; //4 byte
char b; //1 byte
}MYSTRUCT ;
int main()
{
MYSTRUCT s;
s.a = 1;
s.b = 2;
MYSTRUCT* s0 = NULL;
s0 = &s;
MYSTRUCT* s1 = NULL;
s1 = (MYSTRUCT*)malloc(sizeof(MYSTRUCT));
s1->a = 11;
s1->b = 12;
char* ps = NULL;
ps = (char*)s0;
int i = 0;
for(i = 0; i < 8; i++)
{
printf("ps[%d]: 0x%x\n",i,*ps);
printf("addr ps[%d]: 0x%x\n",i, ps);
ps = ps + 1;
}
printf("//===================//\n");
int* ps_int = NULL;
ps_int = (int*)s0;
//int i = 0;
for(i = 0; i < 8; i++)
{
printf("ps_int[%d]: 0x%x\n",i,*ps_int);
printf("addr ps_int[%d]: 0x%x\n",i, ps_int);
ps_int = ps_int + 1;
}
long unsigned int sizeof_char = sizeof(char);
printf("sizeof(char): %d bytes\n", sizeof_char);
printf("sizeof(long unsigned int): %d bytes\n", sizeof(long unsigned int));
printf("sizeof(double): %d bytes\n", sizeof(double));
printf("sizeof(int): %d bytes\n", sizeof(int));
//printf("sizeof(mystruct_t): %d bytes\n", sizeof(mystruct_t));
printf("sizeof(MYSTRUCT): %d bytes\n", sizeof(MYSTRUCT));
char* p = (char*)malloc(4*sizeof(char)); //byte
return 0;
}