#include <stdio.h>
typedef struct {
char a;
int b;
short c;
} padd;
void print_offsets() {
padd ele;
void *pele = &ele;
void *pa = &(ele.a);
void *pb = &(ele.b);
void *pc = &(ele.c);
int offa = (char*)pele - (char*)pa;
printf("Offset of a: %d\n", offa);
int offb = (char*)pele - (char*)pb;
printf("Offset of b: %d\n", -offb);
int offc = (char*)pele - (char*)pc;
printf("Offset of c: %d\n", -offc);
printf("Size: %d", (int)sizeof(ele));
}
int main() {
print_offsets();
return 0;
}