#include <stdio.h>
struct A {
struct A * first;
int value;
};
int main () {
struct A a = { &a };
a.first -> value = 123;
static struct A b = { &b };
b.first -> value = 456;
printf("&a = %p, a.first = %p\n", &a
, a.
first); printf("&b = %p, b.first = %p\n", &b
, b.
first); }
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgQSB7CiAgc3RydWN0IEEgKiBmaXJzdDsKICBpbnQgdmFsdWU7Cn07CgppbnQgbWFpbiAoKSB7CiAgc3RydWN0IEEgYSA9IHsgJmEgfTsKICBhLmZpcnN0IC0+IHZhbHVlID0gMTIzOwoKICBzdGF0aWMgc3RydWN0IEEgYiA9IHsgJmIgfTsKICBiLmZpcnN0IC0+IHZhbHVlID0gNDU2OwoKICBwcmludGYoIiZhID0gJXAsIGEuZmlyc3QgPSAlcFxuIiwgJmEsIGEuZmlyc3QpOwogIHByaW50ZigiJmIgPSAlcCwgYi5maXJzdCA9ICVwXG4iLCAmYiwgYi5maXJzdCk7Cn0K