#include <stdio.h>
typedef struct {
char a;
int b;
short c;
} MyStruct;
void print_offsets() {
MyStruct value;
char *base_address = (char *)&value;
char *char_address = (char *)&(value.a);
char *int_address = (char *)&(value.b);
char *short_address = (char *)&(value.c);
printf("Offset of a: %hhu\n", char_address - base_address);
printf("Offset of b: %hhu\n", int_address - base_address);
printf("Offset of c: %hhu\n", short_address - base_address);
printf("Size: %zu", sizeof(value));
}
int main() {
print_offsets();
return 0;
}