#include <stdio.h>
typedef struct {
char a;
int b;
short c;
} MyStruct;
void print_offsets() {
MyStruct s;
char * baseAddr = (char *)&s;
char * charAddr = (char *)&(s.a);
char * intAddr = (char *)&(s.b);
char * shortAddr = (char *)&(s.c);
printf("Offset of a: %d\n", charAddr-baseAddr);
printf("Offset of b: %d\n", intAddr-baseAddr);
printf("Offset of c: %d\n", shortAddr-baseAddr);
printf("Size: %d\n", sizeof(s));
}
int main() {
print_offsets();
return 0;
}