#include <stdio.h>
typedef struct empty {} empty;
typedef struct smth { empty e; int i; } smth;
void printi
(int i
) { printf("%d\n", i
); } void printp
(void *p
) { printf("%p\n", p
); }
void f(smth *s)
{
printp(s);
printp(&s->e);
printp(&s->i);
printi(sizeof (smth));
printi(&s->e == &s->i);
}
int main()
{
smth s;
printi(sizeof(empty));
f(&s);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiAKdHlwZWRlZiBzdHJ1Y3QgZW1wdHkge30gZW1wdHk7CnR5cGVkZWYgc3RydWN0IHNtdGggeyBlbXB0eSBlOyBpbnQgaTsgfSBzbXRoOwogCnZvaWQgcHJpbnRpKGludCBpKSB7IHByaW50ZigiJWRcbiIsIGkpOyB9CnZvaWQgcHJpbnRwKHZvaWQgKnApIHsgcHJpbnRmKCIlcFxuIiwgcCk7IH0KCnZvaWQgZihzbXRoICpzKQp7CiAgcHJpbnRwKHMpOwogIHByaW50cCgmcy0+ZSk7CiAgcHJpbnRwKCZzLT5pKTsKICBwcmludGkoc2l6ZW9mIChzbXRoKSk7CiAgcHJpbnRpKCZzLT5lID09ICZzLT5pKTsKfQogCmludCBtYWluKCkKewogIHNtdGggczsKICBwcmludGkoc2l6ZW9mKGVtcHR5KSk7CiAgZigmcyk7CiAgcmV0dXJuIDA7Cn0=