Я хотел посмотреть, смогу ли я инициализировать глобальную переменную так, чтобы она указывала сама на себя:
#include <stdio.h>
struct foo { struct foo *a, *b; } x = { &x, &x };
int main()
{
printf("&x = %p, x.a = %p, x.b = %p\n", &x, x.a, x.b);
return 0;
}
Этот код компилируется и работает, как и ожидалось, с gcc
(все три указателя печатаются одинаково).
Я хочу знать:
РЕДАКТИРОВАТЬ: Просто для уточнения, Я сомневаюсь в наличии адреса x
в собственном инициализаторе.