void printi(int val);
void printstr(char *str);

typedef int int_t;
typedef int (*func_t)(int);

union sample {
  int_t val;
  func_t func;
};

int main()
{
  union sample s;

  printi(sizeof(union sample));

  printi(sizeof(s));

  s.val = 1;
  printi(s.val);

  return 0;
}
