#include <stdio.h>

struct stuff1 {
  char c1;
  int i;
  char c2;
  double d;
  char c3;
};

struct stuff2 {
  char c1;
  char c2;
  char c3;
  int i;
  double d;
};

typedef struct stuff1 STUFF1;

int main(void)
{
  struct stuff1 s1;
  STUFF1 s2;

  printf("sizeof(s1.c1) = %ld\n", sizeof(s1.c1));
  printf("sizeof(s1.c2) = %ld\n", sizeof(s1.c2));
  printf("sizeof(s1.c3) = %ld\n", sizeof(s1.c3));
  printf("sizeof(s1.i) = %ld\n", sizeof(s1.i));
  printf("sizeof(s1.d) = %ld\n", sizeof(s1.d));

  printf("sizeof(struct stuff1) = %ld\n", sizeof(struct stuff1));
  printf("sizeof(s1) = %ld\n", sizeof(s1));
  printf("sizeof(s2) = %ld\n", sizeof(s2));
  printf("sizeof(struct stuff2) = %ld\n", sizeof(struct stuff2));

  printf("&s1.c1 = %p\n", &s1.c1);
  printf("&s1.i = %p\n", &s1.i);
  printf("&s1.c2 = %p\n", &s1.c2);
  printf("&s1.d = %p\n", &s1.d);
  printf("&s1.c3 = %p\n", &s1.c3);
}
